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> 70 template <
typename Po
intT>
80 typedef boost::shared_ptr<SampleConsensusModelPerpendicularPlane>
Ptr;
92 model_name_ =
"SampleConsensusModelPerpendicularPlane";
103 const std::vector<int> &indices,
109 model_name_ =
"SampleConsensusModelPerpendicularPlane";
124 inline Eigen::Vector3f
145 const double threshold,
146 std::vector<int> &inliers);
156 const double threshold);
164 std::vector<double> &distances);
178 isModelValid (
const Eigen::VectorXf &model_coefficients);
188 #ifdef PCL_NO_PRECOMPILE 189 #include <pcl/sample_consensus/impl/sac_model_perpendicular_plane.hpp> 192 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_PERPENDICULARPLANE_H_ void setAxis(const Eigen::Vector3f &ax)
Set the axis along which we need to search for a plane perpendicular to.
SampleConsensusModelPlane< PointT >::PointCloud PointCloud
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.
virtual ~SampleConsensusModelPerpendicularPlane()
Empty destructor.
SampleConsensusModelPlane< PointT >::PointCloudPtr PointCloudPtr
unsigned int model_size_
The number of coefficients in the model.
void setEpsAngle(const double ea)
Set the angle epsilon (delta) threshold.
virtual bool isModelValid(const Eigen::VectorXf &model_coefficients)
Check whether a model is valid given the user constraints.
Eigen::Vector3f getAxis()
Get the axis along which we need to search for a plane perpendicular to.
Define standard C methods and C++ classes that are common to all methods.
void getDistancesToModel(const Eigen::VectorXf &model_coefficients, std::vector< double > &distances)
Compute all distances from the cloud data to a given plane model.
SampleConsensusModel represents the base model class.
std::string model_name_
The model name.
SampleConsensusModel< PointT >::PointCloudConstPtr PointCloudConstPtr
SampleConsensusModel< PointT >::PointCloudPtr PointCloudPtr
double getEpsAngle()
Get the angle epsilon (delta) threshold.
pcl::SacModel getModelType() const
Return an unique id for this model (SACMODEL_PERPENDICULAR_PLANE).
double eps_angle_
The maximum allowed difference between the plane normal and the given axis.
boost::shared_ptr< SampleConsensusModelPerpendicularPlane > Ptr
PointCloud represents the base class in PCL for storing collections of 3D points.
pcl::PointCloud< PointT >::ConstPtr PointCloudConstPtr
Eigen::Vector3f axis_
The axis along which we need to search for a plane perpendicular to.
SampleConsensusModelPerpendicularPlane(const PointCloudConstPtr &cloud, const std::vector< int > &indices, bool random=false)
Constructor for base SampleConsensusModelPerpendicularPlane.
virtual int countWithinDistance(const Eigen::VectorXf &model_coefficients, const double threshold)
Count all the points which respect the given model coefficients as inliers.
A point structure representing Euclidean xyz coordinates, and the RGB color.
SampleConsensusModelPlane defines a model for 3D plane segmentation.
SampleConsensusModelPerpendicularPlane(const PointCloudConstPtr &cloud, bool random=false)
Constructor for base SampleConsensusModelPerpendicularPlane.
SampleConsensusModelPlane< PointT >::PointCloudConstPtr PointCloudConstPtr
unsigned int sample_size_
The size of a sample from which the model is computed.
SampleConsensusModelPerpendicularPlane defines a model for 3D plane segmentation using additional ang...