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> >;
134 plane_coeff_d_ = pcl::make_shared<std::vector<float> >(plane_coeff_d);
138 const std::vector<float>&
166 bool depth_dependent =
false)
190 Eigen::Vector3f vec = (*input_)[idx1].getVector3fMap ();
Define standard C methods to do angle calculations.
Comparator is the base class for comparators that compare two points given some function.
PointCloudConstPtr input_
typename PointCloud::ConstPtr PointCloudConstPtr
PlaneCoefficientComparator is a Comparator that operates on plane coefficients, for use in planar seg...
typename PointCloudN::Ptr PointCloudNPtr
void setDistanceThreshold(float distance_threshold, bool depth_dependent=false)
Set the tolerance in meters for difference in perpendicular distance (d component of plane equation) ...
virtual void setAngularThreshold(float angular_threshold)
Set the tolerance in radians for difference in normal direction between neighboring points,...
const std::vector< float > & getPlaneCoeffD() const
Get a pointer to the vector of the d-coefficient of the planes' hessian normal form.
float getAngularThreshold() const
Get the angular threshold in radians for difference in normal direction between neighboring points,...
shared_ptr< PlaneCoefficientComparator< PointT, PointNT > > Ptr
shared_ptr< const PlaneCoefficientComparator< PointT, PointNT > > ConstPtr
PointCloudNConstPtr getInputNormals() const
Get the input normals.
float distance_threshold_
shared_ptr< std::vector< float > > plane_coeff_d_
void setInputNormals(const PointCloudNConstPtr &normals)
Provide a pointer to the input normals.
typename PointCloudN::ConstPtr PointCloudNConstPtr
float getDistanceThreshold() const
Get the distance threshold in meters (d component of plane equation) between neighboring points,...
typename Comparator< PointT >::PointCloud PointCloud
bool compare(int idx1, int idx2) const override
Compare points at two indices by their plane equations.
PlaneCoefficientComparator(shared_ptr< std::vector< float > > &plane_coeff_d)
Constructor for PlaneCoefficientComparator.
typename Comparator< PointT >::PointCloudConstPtr PointCloudConstPtr
PlaneCoefficientComparator()
Empty constructor for PlaneCoefficientComparator.
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.
void setPlaneCoeffD(std::vector< float > &plane_coeff_d)
Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form.
PointCloudNConstPtr normals_
~PlaneCoefficientComparator() override=default
Destructor for PlaneCoefficientComparator.
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.
shared_ptr< PointCloud< PointNT > > Ptr
shared_ptr< const PointCloud< PointNT > > ConstPtr
float deg2rad(float alpha)
Convert an angle from degrees to radians.
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Defines functions, macros and traits for allocating and using memory.
Defines all the PCL and non-PCL macros used.
A point structure representing Euclidean xyz coordinates, and the RGB color.