Point Cloud Library (PCL)
1.9.1
|
41 #ifndef PCL_SAMPLE_CONSENSUS_MODEL_NORMALPARALLELPLANE_H_
42 #define PCL_SAMPLE_CONSENSUS_MODEL_NORMALPARALLELPLANE_H_
44 #include <pcl/sample_consensus/sac_model_normal_plane.h>
45 #include <pcl/sample_consensus/model_types.h>
83 template <
typename Po
intT,
typename Po
intNT>
101 typedef boost::shared_ptr<SampleConsensusModelNormalParallelPlane>
Ptr;
110 , axis_ (
Eigen::Vector4f::Zero ())
111 , distance_from_origin_ (0)
116 model_name_ =
"SampleConsensusModelNormalParallelPlane";
127 const std::vector<int> &indices,
130 , axis_ (
Eigen::Vector4f::Zero ())
131 , distance_from_origin_ (0)
136 model_name_ =
"SampleConsensusModelNormalParallelPlane";
148 setAxis (
const Eigen::Vector3f &ax) { axis_.head<3> () = ax; axis_.normalize ();}
151 inline Eigen::Vector3f
159 setEpsAngle (
const double ea) { eps_angle_ = ea; cos_angle_ = fabs (cos (ea));}
189 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
199 isModelValid (
const Eigen::VectorXf &model_coefficients)
const;
203 Eigen::Vector4f axis_;
206 double distance_from_origin_;
218 #ifdef PCL_NO_PRECOMPILE
219 #include <pcl/sample_consensus/impl/sac_model_normal_parallel_plane.hpp>
222 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_NORMALPARALLELPLANE_H_
This file defines compatibility wrappers for low level I/O functions.
SampleConsensusModel< PointT >::PointCloudConstPtr PointCloudConstPtr
pcl::PointCloud< PointT >::Ptr PointCloudPtr
SampleConsensusModelFromNormals represents the base model class for models that require the use of su...
virtual ~SampleConsensusModelNormalParallelPlane()
Empty destructor.
unsigned int sample_size_
The size of a sample from which the model is computed.
pcl::SacModel getModelType() const
Return an unique id for this model (SACMODEL_NORMAL_PARALLEL_PLANE).
SampleConsensusModelNormalPlane defines a model for 3D plane segmentation using additional surface no...
unsigned int model_size_
The number of coefficients in the model.
PointCloud represents the base class in PCL for storing collections of 3D points.
SampleConsensusModelNormalParallelPlane(const PointCloudConstPtr &cloud, bool random=false)
Constructor for base SampleConsensusModelNormalParallelPlane.
A point structure representing Euclidean xyz coordinates, and the RGB color.
SampleConsensusModelNormalParallelPlane(const PointCloudConstPtr &cloud, const std::vector< int > &indices, bool random=false)
Constructor for base SampleConsensusModelNormalParallelPlane.
@ SACMODEL_NORMAL_PARALLEL_PLANE
void setEpsDist(const double delta)
Set the distance epsilon (delta) threshold.
pcl::PointCloud< PointT >::ConstPtr PointCloudConstPtr
double getEpsDist()
Get the distance epsilon (delta) threshold.
virtual bool isModelValid(const Eigen::VectorXf &model_coefficients) const
Check whether a model is valid given the user constraints.
double getEpsAngle()
Get the angle epsilon (delta) threshold.
SampleConsensusModel< PointT >::PointCloud PointCloud
SampleConsensusModelNormalParallelPlane defines a model for 3D plane segmentation using additional su...
SampleConsensusModelFromNormals< PointT, PointNT >::PointCloudNConstPtr PointCloudNConstPtr
std::string model_name_
The model name.
Eigen::Vector3f getAxis()
Get the axis along which we need to search for a plane perpendicular to.
double getDistanceFromOrigin()
Get the distance of the plane from the origin.
void setEpsAngle(const double ea)
Set the angle epsilon (delta) threshold.
SampleConsensusModelFromNormals< PointT, PointNT >::PointCloudNPtr PointCloudNPtr
SampleConsensusModel represents the base model class.
boost::shared_ptr< SampleConsensusModelNormalParallelPlane > Ptr
pcl::PointCloud< PointNT >::ConstPtr PointCloudNConstPtr
void setDistanceFromOrigin(const double d)
Set the distance we expect the plane to be from the origin.
SampleConsensusModel< PointT >::PointCloudPtr PointCloudPtr
pcl::PointCloud< PointNT >::Ptr PointCloudNPtr
void setAxis(const Eigen::Vector3f &ax)
Set the axis along which we need to search for a plane perpendicular to.