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>
45 #include <pcl/common/common.h>
65 template <
typename Po
intT>
73 typedef boost::shared_ptr<SampleConsensusModelParallelPlane>
Ptr;
82 ,
axis_ (Eigen::Vector3f::Zero ())
94 const std::vector<int> &indices,
97 ,
axis_ (Eigen::Vector3f::Zero ())
113 inline Eigen::Vector3f
134 const double threshold,
135 std::vector<int> &inliers);
145 const double threshold);
153 std::vector<double> &distances);
164 isModelValid (
const Eigen::VectorXf &model_coefficients);
177 #ifdef PCL_NO_PRECOMPILE
178 #include <pcl/sample_consensus/impl/sac_model_parallel_plane.hpp>
181 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_PARALLELPLANE_H_
boost::shared_ptr< SampleConsensusModelParallelPlane > Ptr
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.
Eigen::Vector3f axis_
The axis along which we need to search for a plane perpendicular to.
SampleConsensusModelParallelPlane defines a model for 3D plane segmentation using additional angular ...
double eps_angle_
The maximum allowed difference between the plane and the given axis.
SampleConsensusModelPlane defines a model for 3D plane segmentation.
SampleConsensusModelParallelPlane(const PointCloudConstPtr &cloud, bool random=false)
Constructor for base SampleConsensusModelParallelPlane.
void setEpsAngle(const double ea)
Set the angle epsilon (delta) threshold.
SampleConsensusModelPlane< PointT >::PointCloudConstPtr PointCloudConstPtr
virtual ~SampleConsensusModelParallelPlane()
Empty destructor.
virtual int countWithinDistance(const Eigen::VectorXf &model_coefficients, const double threshold)
Count all the points which respect the given model coefficients as inliers.
double sin_angle_
The sine of the angle.
void setAxis(const Eigen::Vector3f &ax)
Set the axis along which we need to search for a plane perpendicular to.
SampleConsensusModelPlane< PointT >::PointCloudPtr PointCloudPtr
SampleConsensusModel< PointT >::PointCloudConstPtr PointCloudConstPtr
pcl::SacModel getModelType() const
Return an unique id for this model (SACMODEL_PARALLEL_PLANE).
pcl::PointCloud< PointT >::ConstPtr PointCloudConstPtr
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
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.
SampleConsensusModel< PointT >::PointCloudPtr PointCloudPtr
double getEpsAngle()
Get the angle epsilon (delta) threshold.
A point structure representing Euclidean xyz coordinates, and the RGB color.
SampleConsensusModelParallelPlane(const PointCloudConstPtr &cloud, const std::vector< int > &indices, bool random=false)
Constructor for base SampleConsensusModelParallelPlane.