41 #ifndef PCL_SAMPLE_CONSENSUS_MODEL_PERPENDICULARPLANE_H_
42 #define PCL_SAMPLE_CONSENSUS_MODEL_PERPENDICULARPLANE_H_
44 #include <pcl/sample_consensus/sac_model_plane.h>
45 #include <pcl/common/common.h>
70 template <
typename Po
intT>
78 typedef boost::shared_ptr<SampleConsensusModelPerpendicularPlane>
Ptr;
98 const std::vector<int> &indices,
116 inline Eigen::Vector3f
137 const double threshold,
138 std::vector<int> &inliers);
148 const double threshold);
156 std::vector<double> &distances);
167 isModelValid (
const Eigen::VectorXf &model_coefficients);
177 #ifdef PCL_NO_PRECOMPILE
178 #include <pcl/sample_consensus/impl/sac_model_perpendicular_plane.hpp>
181 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_PERPENDICULARPLANE_H_
pcl::SacModel getModelType() const
Return an unique id for this model (SACMODEL_PERPENDICULAR_PLANE).
boost::shared_ptr< SampleConsensusModelPerpendicularPlane > Ptr
double getEpsAngle()
Get the angle epsilon (delta) threshold.
virtual ~SampleConsensusModelPerpendicularPlane()
Empty destructor.
SampleConsensusModelPlane< PointT >::PointCloudPtr PointCloudPtr
double eps_angle_
The maximum allowed difference between the plane normal and the given axis.
SampleConsensusModel< PointT >::PointCloudPtr PointCloudPtr
bool isModelValid(const Eigen::VectorXf &model_coefficients)
Check whether a model is valid given the user constraints.
void getDistancesToModel(const Eigen::VectorXf &model_coefficients, std::vector< double > &distances)
Compute all distances from the cloud data to a given plane model.
SampleConsensusModelPlane defines a model for 3D plane segmentation.
SampleConsensusModelPerpendicularPlane(const PointCloudConstPtr &cloud, const std::vector< int > &indices, bool random=false)
Constructor for base SampleConsensusModelPerpendicularPlane.
Eigen::Vector3f axis_
The axis along which we need to search for a plane perpendicular to.
SampleConsensusModelPlane< PointT >::PointCloudConstPtr PointCloudConstPtr
void selectWithinDistance(const Eigen::VectorXf &model_coefficients, const double threshold, std::vector< int > &inliers)
Select all the points which respect the given model coefficients as inliers.
SampleConsensusModelPerpendicularPlane(const PointCloudConstPtr &cloud, bool random=false)
Constructor for base SampleConsensusModelPerpendicularPlane.
SampleConsensusModelPerpendicularPlane defines a model for 3D plane segmentation using additional ang...
SampleConsensusModelPlane< PointT >::PointCloud PointCloud
A point structure representing Euclidean xyz coordinates, and the RGB color.
void setAxis(const Eigen::Vector3f &ax)
Set the axis along which we need to search for a plane perpendicular to.
Eigen::Vector3f getAxis()
Get the axis along which we need to search for a plane perpendicular to.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
void setEpsAngle(const double ea)
Set the angle epsilon (delta) threshold.
virtual int countWithinDistance(const Eigen::VectorXf &model_coefficients, const double threshold)
Count all the points which respect the given model coefficients as inliers.
SampleConsensusModel< PointT >::PointCloudConstPtr PointCloudConstPtr