41 #ifndef PCL_SAMPLE_CONSENSUS_MODEL_NORMALPARALLELPLANE_H_
42 #define PCL_SAMPLE_CONSENSUS_MODEL_NORMALPARALLELPLANE_H_
44 #include <pcl/sample_consensus/sac_model.h>
45 #include <pcl/sample_consensus/sac_model_plane.h>
46 #include <pcl/sample_consensus/sac_model_perpendicular_plane.h>
47 #include <pcl/sample_consensus/model_types.h>
85 template <
typename Po
intT,
typename Po
intNT>
102 typedef boost::shared_ptr<SampleConsensusModelNormalParallelPlane>
Ptr;
112 , axis_ (Eigen::Vector4f::Zero ())
113 , distance_from_origin_ (0)
126 const std::vector<int> &indices,
130 , axis_ (Eigen::Vector4f::Zero ())
131 , distance_from_origin_ (0)
145 setAxis (
const Eigen::Vector3f &ax) { axis_.head<3> () = ax; axis_.normalize ();}
148 inline Eigen::Vector3f
156 setEpsAngle (
const double ea) { eps_angle_ = ea; cos_angle_ = fabs (cos (ea));}
189 const double threshold,
190 std::vector<int> &inliers);
200 const double threshold);
208 std::vector<double> &distances);
214 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
221 isModelValid (
const Eigen::VectorXf &model_coefficients);
225 Eigen::Vector4f axis_;
228 double distance_from_origin_;
240 #ifdef PCL_NO_PRECOMPILE
241 #include <pcl/sample_consensus/impl/sac_model_normal_parallel_plane.hpp>
244 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_NORMALPARALLELPLANE_H_