W3cubDocs

/PointCloudLibrary

PlaneCoefficientComparator is a Comparator that operates on plane coefficients, for use in planar segmentation. More...

#include <pcl/segmentation/plane_coefficient_comparator.h>

Public Types

using PointCloud = typename Comparator< PointT >::PointCloud
using PointCloudConstPtr = typename Comparator< PointT >::PointCloudConstPtr
using PointCloudN = pcl::PointCloud< PointNT >
using PointCloudNPtr = typename PointCloudN::Ptr
using PointCloudNConstPtr = typename PointCloudN::ConstPtr
using Ptr = shared_ptr< PlaneCoefficientComparator< PointT, PointNT > >
using ConstPtr = shared_ptr< const PlaneCoefficientComparator< PointT, PointNT > >
- Public Types inherited from pcl::Comparator< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using Ptr = shared_ptr< Comparator< PointT > >
using ConstPtr = shared_ptr< const Comparator< PointT > >

Public Member Functions

PlaneCoefficientComparator ()
Empty constructor for PlaneCoefficientComparator. More...
PlaneCoefficientComparator (shared_ptr< std::vector< float > > &plane_coeff_d)
Constructor for PlaneCoefficientComparator. More...
~PlaneCoefficientComparator ()
Destructor for PlaneCoefficientComparator. More...
void setInputCloud (const PointCloudConstPtr &cloud) override
Set the input cloud for the comparator. More...
void setInputNormals (const PointCloudNConstPtr &normals)
Provide a pointer to the input normals. More...
PointCloudNConstPtr getInputNormals () const
Get the input normals. More...
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. More...
void setPlaneCoeffD (std::vector< float > &plane_coeff_d)
Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form. More...
const std::vector< float > & getPlaneCoeffD () const
Get a pointer to the vector of the d-coefficient of the planes' hessian normal form. More...
virtual void setAngularThreshold (float angular_threshold)
Set the tolerance in radians for difference in normal direction between neighboring points, to be considered part of the same plane. More...
float getAngularThreshold () const
Get the angular threshold in radians for difference in normal direction between neighboring points, to be considered part of the same plane. More...
void setDistanceThreshold (float distance_threshold, bool depth_dependent=false)
Set the tolerance in meters for difference in perpendicular distance (d component of plane equation) to the plane between neighboring points, to be considered part of the same plane. More...
float getDistanceThreshold () const
Get the distance threshold in meters (d component of plane equation) between neighboring points, to be considered part of the same plane. More...
bool compare (int idx1, int idx2) const override
Compare points at two indices by their plane equations. More...
- Public Member Functions inherited from pcl::Comparator< PointT >
Comparator ()
Empty constructor for comparator. More...
virtual ~Comparator ()
Empty destructor for comparator. More...
virtual PointCloudConstPtr getInputCloud () const
Get the input cloud this comparator operates on. More...

Protected Attributes

PointCloudNConstPtr normals_
shared_ptr< std::vector< float > > plane_coeff_d_
float angular_threshold_
float distance_threshold_
bool depth_dependent_
Eigen::Vector3f z_axis_
- Protected Attributes inherited from pcl::Comparator< PointT >
PointCloudConstPtr input_

Detailed Description

template<typename PointT, typename PointNT>
class pcl::PlaneCoefficientComparator< PointT, PointNT >

PlaneCoefficientComparator is a Comparator that operates on plane coefficients, for use in planar segmentation.

In conjunction with OrganizedConnectedComponentSegmentation, this allows planes to be segmented from organized data.

Author
Alex Trevor

Definition at line 55 of file plane_coefficient_comparator.h.

Member Typedef Documentation

ConstPtr

template<typename PointT , typename PointNT >
using pcl::PlaneCoefficientComparator< PointT, PointNT >::ConstPtr = shared_ptr<const PlaneCoefficientComparator<PointT, PointNT> >

Definition at line 66 of file plane_coefficient_comparator.h.

PointCloud

template<typename PointT , typename PointNT >
using pcl::PlaneCoefficientComparator< PointT, PointNT >::PointCloud = typename Comparator<PointT>::PointCloud

Definition at line 58 of file plane_coefficient_comparator.h.

PointCloudConstPtr

template<typename PointT , typename PointNT >
using pcl::PlaneCoefficientComparator< PointT, PointNT >::PointCloudConstPtr = typename Comparator<PointT>::PointCloudConstPtr

Definition at line 59 of file plane_coefficient_comparator.h.

PointCloudN

template<typename PointT , typename PointNT >
using pcl::PlaneCoefficientComparator< PointT, PointNT >::PointCloudN = pcl::PointCloud<PointNT>

Definition at line 61 of file plane_coefficient_comparator.h.

PointCloudNConstPtr

template<typename PointT , typename PointNT >
using pcl::PlaneCoefficientComparator< PointT, PointNT >::PointCloudNConstPtr = typename PointCloudN::ConstPtr

Definition at line 63 of file plane_coefficient_comparator.h.

PointCloudNPtr

template<typename PointT , typename PointNT >
using pcl::PlaneCoefficientComparator< PointT, PointNT >::PointCloudNPtr = typename PointCloudN::Ptr

Definition at line 62 of file plane_coefficient_comparator.h.

Ptr

template<typename PointT , typename PointNT >
using pcl::PlaneCoefficientComparator< PointT, PointNT >::Ptr = shared_ptr<PlaneCoefficientComparator<PointT, PointNT> >

Definition at line 65 of file plane_coefficient_comparator.h.

Constructor & Destructor Documentation

PlaneCoefficientComparator() [1/2]

template<typename PointT , typename PointNT >
pcl::PlaneCoefficientComparator< PointT, PointNT >::PlaneCoefficientComparator ( )
inline

Empty constructor for PlaneCoefficientComparator.

Definition at line 71 of file plane_coefficient_comparator.h.

PlaneCoefficientComparator() [2/2]

template<typename PointT , typename PointNT >
pcl::PlaneCoefficientComparator< PointT, PointNT >::PlaneCoefficientComparator ( shared_ptr< std::vector< float > > & plane_coeff_d )
inline

Constructor for PlaneCoefficientComparator.

Parameters
[in] plane_coeff_d a reference to a vector of d coefficients of plane equations. Must be the same size as the input cloud and input normals. a, b, and c coefficients are in the input normals.

Definition at line 83 of file plane_coefficient_comparator.h.

~PlaneCoefficientComparator()

template<typename PointT , typename PointNT >
pcl::PlaneCoefficientComparator< PointT, PointNT >::~PlaneCoefficientComparator ( )
inline

Destructor for PlaneCoefficientComparator.

Definition at line 95 of file plane_coefficient_comparator.h.

Member Function Documentation

compare()

template<typename PointT , typename PointNT >
bool pcl::PlaneCoefficientComparator< PointT, PointNT >::compare ( int idx1,
int idx2
) const
inlineoverridevirtual

Compare points at two indices by their plane equations.

True if the angle between the normals is less than the angular threshold, and the difference between the d component of the normals is less than distance threshold, else false

Parameters
idx1 The first index for the comparison
idx2 The second index for the comparison

Implements pcl::Comparator< PointT >.

Reimplemented in pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >, and pcl::RGBPlaneCoefficientComparator< PointT, PointNT >.

Definition at line 187 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::angular_threshold_, pcl::PlaneCoefficientComparator< PointT, PointNT >::depth_dependent_, pcl::PlaneCoefficientComparator< PointT, PointNT >::distance_threshold_, pcl::PlaneCoefficientComparator< PointT, PointNT >::normals_, pcl::PlaneCoefficientComparator< PointT, PointNT >::plane_coeff_d_, and pcl::PlaneCoefficientComparator< PointT, PointNT >::z_axis_.

getAngularThreshold()

template<typename PointT , typename PointNT >
float pcl::PlaneCoefficientComparator< PointT, PointNT >::getAngularThreshold ( ) const
inline

Get the angular threshold in radians for difference in normal direction between neighboring points, to be considered part of the same plane.

Definition at line 157 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::angular_threshold_.

getDistanceThreshold()

template<typename PointT , typename PointNT >
float pcl::PlaneCoefficientComparator< PointT, PointNT >::getDistanceThreshold ( ) const
inline

Get the distance threshold in meters (d component of plane equation) between neighboring points, to be considered part of the same plane.

Definition at line 176 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::distance_threshold_.

getInputNormals()

template<typename PointT , typename PointNT >
PointCloudNConstPtr pcl::PlaneCoefficientComparator< PointT, PointNT >::getInputNormals ( ) const
inline

Get the input normals.

Definition at line 116 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::normals_.

getPlaneCoeffD()

template<typename PointT , typename PointNT >
const std::vector<float>& pcl::PlaneCoefficientComparator< PointT, PointNT >::getPlaneCoeffD ( ) const
inline

Get a pointer to the vector of the d-coefficient of the planes' hessian normal form.

Definition at line 141 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::plane_coeff_d_.

setAngularThreshold()

template<typename PointT , typename PointNT >
virtual void pcl::PlaneCoefficientComparator< PointT, PointNT >::setAngularThreshold ( float angular_threshold )
inlinevirtual

Set the tolerance in radians for difference in normal direction between neighboring points, to be considered part of the same plane.

Parameters
[in] angular_threshold the tolerance in radians

Definition at line 150 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::angular_threshold_.

setDistanceThreshold()

template<typename PointT , typename PointNT >
void pcl::PlaneCoefficientComparator< PointT, PointNT >::setDistanceThreshold ( float distance_threshold,
bool depth_dependent = false
)
inline

Set the tolerance in meters for difference in perpendicular distance (d component of plane equation) to the plane between neighboring points, to be considered part of the same plane.

Parameters
[in] distance_threshold the tolerance in meters (at 1m)
[in] depth_dependent whether to scale the threshold based on range from the sensor (default: false)

Definition at line 167 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::depth_dependent_, and pcl::PlaneCoefficientComparator< PointT, PointNT >::distance_threshold_.

setInputCloud()

template<typename PointT , typename PointNT >
void pcl::PlaneCoefficientComparator< PointT, PointNT >::setInputCloud ( const PointCloudConstPtr & cloud )
inlineoverridevirtual

Set the input cloud for the comparator.

Parameters
[in] cloud the point cloud this comparator will operate on

Reimplemented from pcl::Comparator< PointT >.

Definition at line 100 of file plane_coefficient_comparator.h.

References pcl::Comparator< PointT >::input_.

setInputNormals()

template<typename PointT , typename PointNT >
void pcl::PlaneCoefficientComparator< PointT, PointNT >::setInputNormals ( const PointCloudNConstPtr & normals )
inline

Provide a pointer to the input normals.

Parameters
[in] normals the input normal cloud

Definition at line 109 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::normals_.

setPlaneCoeffD() [1/2]

template<typename PointT , typename PointNT >
void pcl::PlaneCoefficientComparator< PointT, PointNT >::setPlaneCoeffD ( shared_ptr< std::vector< float > > & plane_coeff_d )
inline

Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form.

a, b, and c are provided by the normal cloud.

Parameters
[in] plane_coeff_d a pointer to the plane coefficients.

Definition at line 125 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::plane_coeff_d_.

setPlaneCoeffD() [2/2]

template<typename PointT , typename PointNT >
void pcl::PlaneCoefficientComparator< PointT, PointNT >::setPlaneCoeffD ( std::vector< float > & plane_coeff_d )
inline

Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form.

a, b, and c are provided by the normal cloud.

Parameters
[in] plane_coeff_d a pointer to the plane coefficients.

Definition at line 134 of file plane_coefficient_comparator.h.

References pcl::PlaneCoefficientComparator< PointT, PointNT >::plane_coeff_d_.

Member Data Documentation

angular_threshold_

depth_dependent_

distance_threshold_

normals_

plane_coeff_d_

z_axis_


The documentation for this class was generated from the following file:

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_plane_coefficient_comparator.html