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>
100 typedef boost::shared_ptr<SampleConsensusModelNormalParallelPlane>
Ptr;
109 , axis_ (Eigen::Vector4f::Zero ())
110 , distance_from_origin_ (0)
123 const std::vector<int> &indices,
126 , axis_ (Eigen::Vector4f::Zero ())
127 , distance_from_origin_ (0)
141 setAxis (
const Eigen::Vector3f &ax) { axis_.head<3> () = ax; axis_.normalize ();}
144 inline Eigen::Vector3f
152 setEpsAngle (
const double ea) { eps_angle_ = ea; cos_angle_ = fabs (cos (ea));}
182 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
189 isModelValid (
const Eigen::VectorXf &model_coefficients);
193 Eigen::Vector4f axis_;
196 double distance_from_origin_;
208 #ifdef PCL_NO_PRECOMPILE
209 #include <pcl/sample_consensus/impl/sac_model_normal_parallel_plane.hpp>
212 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_NORMALPARALLELPLANE_H_
SampleConsensusModel< PointT >::PointCloud PointCloud
double getEpsAngle()
Get the angle epsilon (delta) threshold.
double getEpsDist()
Get the distance epsilon (delta) threshold.
SampleConsensusModelFromNormals< PointT, PointNT >::PointCloudNConstPtr PointCloudNConstPtr
pcl::PointCloud< PointNT >::ConstPtr PointCloudNConstPtr
pcl::SacModel getModelType() const
Return an unique id for this model (SACMODEL_NORMAL_PARALLEL_PLANE).
pcl::PointCloud< PointNT >::Ptr PointCloudNPtr
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.
SampleConsensusModel< PointT >::PointCloudPtr PointCloudPtr
SampleConsensusModelFromNormals< PointT, PointNT >::PointCloudNPtr PointCloudNPtr
boost::shared_ptr< SampleConsensusModelNormalParallelPlane > Ptr
SampleConsensusModel represents the base model class.
void setDistanceFromOrigin(const double d)
Set the distance we expect the plane to be from the origin.
void setAxis(const Eigen::Vector3f &ax)
Set the axis along which we need to search for a plane perpendicular to.
pcl::PointCloud< PointT >::Ptr PointCloudPtr
SampleConsensusModel< PointT >::PointCloudConstPtr PointCloudConstPtr
bool isModelValid(const Eigen::VectorXf &model_coefficients)
Check whether a model is valid given the user constraints.
virtual ~SampleConsensusModelNormalParallelPlane()
Empty destructor.
SampleConsensusModelFromNormals represents the base model class for models that require the use of su...
SampleConsensusModelNormalPlane defines a model for 3D plane segmentation using additional surface no...
pcl::PointCloud< PointT >::ConstPtr PointCloudConstPtr
SampleConsensusModelNormalParallelPlane(const PointCloudConstPtr &cloud, bool random=false)
Constructor for base SampleConsensusModelNormalParallelPlane.
SampleConsensusModelNormalParallelPlane(const PointCloudConstPtr &cloud, const std::vector< int > &indices, bool random=false)
Constructor for base SampleConsensusModelNormalParallelPlane.
A point structure representing Euclidean xyz coordinates, and the RGB color.
void setEpsDist(const double delta)
Set the distance epsilon (delta) threshold.
SampleConsensusModelNormalParallelPlane defines a model for 3D plane segmentation using additional su...