45 #include <pcl/segmentation/comparator.h> 54 template<
typename Po
intT,
typename Po
intNT>
65 using Ptr = shared_ptr<PlaneCoefficientComparator<PointT, PointNT> >;
66 using ConstPtr = shared_ptr<const PlaneCoefficientComparator<PointT, PointNT> >;
136 plane_coeff_d_ = pcl::make_shared<std::vector<float> >(plane_coeff_d);
140 const std::vector<float>&
168 bool depth_dependent =
false)
192 Eigen::Vector3f vec = (*input_)[idx1].getVector3fMap ();
shared_ptr< PointCloud< PointNT > > Ptr
Defines functions, macros and traits for allocating and using memory.
float deg2rad(float alpha)
Convert an angle from degrees to radians.
typename PointCloud::ConstPtr PointCloudConstPtr
void setInputNormals(const PointCloudNConstPtr &normals)
Provide a pointer to the input normals.
void setPlaneCoeffD(shared_ptr< std::vector< float > > &plane_coeff_d)
Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form.
typename PointCloudN::Ptr PointCloudNPtr
float getDistanceThreshold() const
Get the distance threshold in meters (d component of plane equation) between neighboring points...
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Comparator is the base class for comparators that compare two points given some function.
~PlaneCoefficientComparator()
Destructor for PlaneCoefficientComparator.
PlaneCoefficientComparator(shared_ptr< std::vector< float > > &plane_coeff_d)
Constructor for PlaneCoefficientComparator.
shared_ptr< const Comparator< PointT > > ConstPtr
void setPlaneCoeffD(std::vector< float > &plane_coeff_d)
Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form.
const std::vector< float > & getPlaneCoeffD() const
Get a pointer to the vector of the d-coefficient of the planes' hessian normal form.
PlaneCoefficientComparator is a Comparator that operates on plane coefficients, for use in planar seg...
void setInputCloud(const PointCloudConstPtr &cloud) override
Set the input cloud for the comparator.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
float distance_threshold_
shared_ptr< std::vector< float > > plane_coeff_d_
PointCloudNConstPtr normals_
typename PointCloudN::ConstPtr PointCloudNConstPtr
void setDistanceThreshold(float distance_threshold, bool depth_dependent=false)
Set the tolerance in meters for difference in perpendicular distance (d component of plane equation) ...
PointCloudNConstPtr getInputNormals() const
Get the input normals.
shared_ptr< const PointCloud< PointNT > > ConstPtr
shared_ptr< Comparator< PointT > > Ptr
PointCloudConstPtr input_
Define standard C methods to do angle calculations.
bool compare(int idx1, int idx2) const override
Compare points at two indices by their plane equations.
virtual void setAngularThreshold(float angular_threshold)
Set the tolerance in radians for difference in normal direction between neighboring points...
float getAngularThreshold() const
Get the angular threshold in radians for difference in normal direction between neighboring points...
PlaneCoefficientComparator()
Empty constructor for PlaneCoefficientComparator.
Defines all the PCL and non-PCL macros used.