41 #ifndef PCL_SAMPLE_CONSENSUS_MODEL_PARALLEL_LINE_H_ 42 #define PCL_SAMPLE_CONSENSUS_MODEL_PARALLEL_LINE_H_ 44 #include <pcl/sample_consensus/sac_model_line.h> 65 template <
typename Po
intT>
75 typedef boost::shared_ptr<SampleConsensusModelParallelLine>
Ptr;
98 const std::vector<int> &indices,
119 inline Eigen::Vector3f
138 const double threshold,
139 std::vector<int> &inliers);
149 const double threshold);
157 std::vector<double> &distances);
171 isModelValid (
const Eigen::VectorXf &model_coefficients);
181 #ifdef PCL_NO_PRECOMPILE 182 #include <pcl/sample_consensus/impl/sac_model_parallel_line.hpp> 185 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_PARALLEL_LINE_H_ void setEpsAngle(const double ea)
Set the angle epsilon (delta) threshold.
SampleConsensusModelLine defines a model for 3D line segmentation.
SampleConsensusModelLine< PointT >::PointCloud PointCloud
SampleConsensusModel< PointT >::PointCloudPtr PointCloudPtr
unsigned int model_size_
The number of coefficients in the model.
SampleConsensusModel< PointT >::PointCloudConstPtr PointCloudConstPtr
void getDistancesToModel(const Eigen::VectorXf &model_coefficients, std::vector< double > &distances)
Compute all squared distances from the cloud data to a given line model.
virtual ~SampleConsensusModelParallelLine()
Empty destructor.
virtual bool isModelValid(const Eigen::VectorXf &model_coefficients)
Check whether a model is valid given the user constraints.
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 represents the base model class.
double getEpsAngle() const
Get the angle epsilon (delta) threshold (in radians).
SampleConsensusModelParallelLine defines a model for 3D line segmentation using additional angular co...
std::string model_name_
The model name.
SampleConsensusModelParallelLine(const PointCloudConstPtr &cloud, const std::vector< int > &indices, bool random=false)
Constructor for base SampleConsensusModelParallelLine.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
virtual int countWithinDistance(const Eigen::VectorXf &model_coefficients, const double threshold)
Count all the points which respect the given model coefficients as inliers.
SampleConsensusModelLine< PointT >::PointCloudPtr PointCloudPtr
void setAxis(const Eigen::Vector3f &ax)
Set the axis along which we need to search for a line.
Eigen::Vector3f getAxis() const
Get the axis along which we need to search for a line.
pcl::SacModel getModelType() const
Return an unique id for this model (SACMODEL_PARALLEL_LINE).
Eigen::Vector3f axis_
The axis along which we need to search for a line.
SampleConsensusModelLine< PointT >::PointCloudConstPtr PointCloudConstPtr
A point structure representing Euclidean xyz coordinates, and the RGB color.
SampleConsensusModelParallelLine(const PointCloudConstPtr &cloud, bool random=false)
Constructor for base SampleConsensusModelParallelLine.
double eps_angle_
The maximum allowed difference between the line direction and the given axis.
boost::shared_ptr< SampleConsensusModelParallelLine > Ptr
unsigned int sample_size_
The size of a sample from which the model is computed.