40 #ifndef PCL_SEGMENTATION_EDGE_AWARE_PLANE_COMPARATOR_H_
41 #define PCL_SEGMENTATION_EDGE_AWARE_PLANE_COMPARATOR_H_
43 #include <pcl/segmentation/boost.h>
44 #include <pcl/segmentation/plane_coefficient_comparator.h>
54 template<
typename Po
intT,
typename Po
intNT>
65 typedef boost::shared_ptr<EdgeAwarePlaneComparator<PointT, PointNT> >
Ptr;
66 typedef boost::shared_ptr<const EdgeAwarePlaneComparator<PointT, PointNT> >
ConstPtr;
183 Eigen::Vector3f vec =
input_->points[idx1].getVector3fMap ();
185 dist_threshold *= z * z;
186 euclidean_dist_threshold *= z * z;
189 float dx =
input_->points[idx1].x -
input_->points[idx2].x;
190 float dy =
input_->points[idx1].y -
input_->points[idx2].y;
191 float dz =
input_->points[idx1].z -
input_->points[idx2].z;
192 float dist = sqrtf (dx*dx + dy*dy + dz*dz);
195 bool dist_ok = (dist < euclidean_dist_threshold);
201 curvature_ok =
false;
203 return (dist_ok && normal_ok && curvature_ok && plane_d_ok);
214 #endif // PCL_SEGMENTATION_PLANE_COEFFICIENT_COMPARATOR_H_