40 #ifndef PCL_SEGMENTATION_ORGANIZED_MULTI_PLANE_SEGMENTATION_H_
41 #define PCL_SEGMENTATION_ORGANIZED_MULTI_PLANE_SEGMENTATION_H_
61 template<
typename Po
intT,
typename Po
intNT,
typename Po
intLT>
94 angular_threshold_ (pcl::
deg2rad (3.0)),
95 distance_threshold_ (0.02),
96 maximum_curvature_ (0.001),
97 project_points_ (false),
130 min_inliers_ = min_inliers;
137 return (min_inliers_);
146 angular_threshold_ = angular_threshold;
153 return (angular_threshold_);
162 distance_threshold_ = distance_threshold;
169 return (distance_threshold_);
178 maximum_curvature_ = maximum_curvature;
185 return (maximum_curvature_);
203 refinement_compare_ = compare;
212 project_points_ = project_points;
224 segment (std::vector<ModelCoefficients>& model_coefficients,
225 std::vector<PointIndices>& inlier_indices,
226 std::vector<Eigen::Vector4f, Eigen::aligned_allocator<Eigen::Vector4f> >& centroids,
227 std::vector <Eigen::Matrix3f, Eigen::aligned_allocator<Eigen::Matrix3f> >& covariances,
229 std::vector<pcl::PointIndices>& label_indices);
236 segment (std::vector<ModelCoefficients>& model_coefficients,
237 std::vector<PointIndices>& inlier_indices);
262 std::vector<ModelCoefficients>& model_coefficients,
263 std::vector<PointIndices>& inlier_indices,
265 std::vector<pcl::PointIndices>& label_indices,
266 std::vector<pcl::PointIndices>& boundary_indices);
277 refine (std::vector<ModelCoefficients>& model_coefficients,
278 std::vector<PointIndices>& inlier_indices,
279 std::vector<Eigen::Vector4f, Eigen::aligned_allocator<Eigen::Vector4f> >& centroids,
280 std::vector <Eigen::Matrix3f, Eigen::aligned_allocator<Eigen::Matrix3f> >& covariances,
282 std::vector<pcl::PointIndices>& label_indices);
290 unsigned min_inliers_;
293 double angular_threshold_;
296 double distance_threshold_;
299 double maximum_curvature_;
302 bool project_points_;
312 getClassName ()
const
314 return (
"OrganizedMultiPlaneSegmentation");
320 #endif //#ifndef PCL_SEGMENTATION_ORGANIZED_MULTI_PLANE_SEGMENTATION_H_