41 #ifndef PCL_SAMPLE_CONSENSUS_MODEL_PARALLELPLANE_H_ 42 #define PCL_SAMPLE_CONSENSUS_MODEL_PARALLELPLANE_H_ 44 #include <pcl/sample_consensus/sac_model_plane.h> 65 template <
typename Po
intT>
75 typedef boost::shared_ptr<SampleConsensusModelParallelPlane>
Ptr;
99 const std::vector<int> &indices,
121 inline Eigen::Vector3f
142 const double threshold,
143 std::vector<int> &inliers);
153 const double threshold);
161 std::vector<double> &distances);
175 isModelValid (
const Eigen::VectorXf &model_coefficients);
188 #ifdef PCL_NO_PRECOMPILE 189 #include <pcl/sample_consensus/impl/sac_model_parallel_plane.hpp> 192 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_PARALLELPLANE_H_ virtual ~SampleConsensusModelParallelPlane()
Empty destructor.
SampleConsensusModelPlane< PointT >::PointCloudPtr PointCloudPtr
pcl::SacModel getModelType() const
Return an unique id for this model (SACMODEL_PARALLEL_PLANE).
SampleConsensusModelParallelPlane defines a model for 3D plane segmentation using additional angular ...
unsigned int model_size_
The number of coefficients in the model.
Eigen::Vector3f axis_
The axis along which we need to search for a plane perpendicular to.
void setEpsAngle(const double ea)
Set the angle epsilon (delta) threshold.
SampleConsensusModelPlane< PointT >::PointCloudConstPtr PointCloudConstPtr
void setAxis(const Eigen::Vector3f &ax)
Set 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.
SampleConsensusModel represents the base model class.
std::string model_name_
The model name.
SampleConsensusModel< PointT >::PointCloudConstPtr PointCloudConstPtr
double eps_angle_
The maximum allowed difference between the plane and the given axis.
SampleConsensusModel< PointT >::PointCloudPtr PointCloudPtr
double getEpsAngle()
Get the angle epsilon (delta) threshold.
SampleConsensusModelParallelPlane(const PointCloudConstPtr &cloud, const std::vector< int > &indices, bool random=false)
Constructor for base SampleConsensusModelParallelPlane.
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 getDistancesToModel(const Eigen::VectorXf &model_coefficients, std::vector< double > &distances)
Compute all distances from the cloud data to a given plane model.
SampleConsensusModelPlane< PointT >::PointCloud PointCloud
SampleConsensusModelParallelPlane(const PointCloudConstPtr &cloud, bool random=false)
Constructor for base SampleConsensusModelParallelPlane.
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 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.
double sin_angle_
The sine of the angle.
virtual bool isModelValid(const Eigen::VectorXf &model_coefficients)
Check whether a model is valid given the user constraints.
SampleConsensusModelPlane defines a model for 3D plane segmentation.
boost::shared_ptr< SampleConsensusModelParallelPlane > Ptr
unsigned int sample_size_
The size of a sample from which the model is computed.