41 #ifndef PCL_SAMPLE_CONSENSUS_IMPL_SAC_MODEL_PERPENDICULAR_PLANE_H_
42 #define PCL_SAMPLE_CONSENSUS_IMPL_SAC_MODEL_PERPENDICULAR_PLANE_H_
44 #include <pcl/sample_consensus/sac_model_perpendicular_plane.h>
48 template <
typename Po
intT>
void
50 const Eigen::VectorXf &model_coefficients,
const double threshold,
Indices &inliers)
53 if (!isModelValid (model_coefficients))
63 template <
typename Po
intT> std::size_t
65 const Eigen::VectorXf &model_coefficients,
const double threshold)
const
68 if (!isModelValid (model_coefficients))
77 template <
typename Po
intT>
void
79 const Eigen::VectorXf &model_coefficients, std::vector<double> &distances)
const
82 if (!isModelValid (model_coefficients))
92 template <
typename Po
intT>
bool
101 if (eps_angle_ > 0.0)
104 Eigen::Vector4f coeff = model_coefficients;
107 Eigen::Vector4f axis (axis_[0], axis_[1], axis_[2], 0.0f);
108 double angle_diff = std::abs (
getAngle3D (axis, coeff));
109 angle_diff = (std::min) (angle_diff,
M_PI - angle_diff);
111 if (angle_diff > eps_angle_)
113 PCL_DEBUG (
"[pcl::SampleConsensusModelPerpendicularPlane::isModelValid] Angle between plane normal and given axis should be smaller than %g, but is %g.\n",
114 eps_angle_, angle_diff);
122 #define PCL_INSTANTIATE_SampleConsensusModelPerpendicularPlane(T) template class PCL_EXPORTS pcl::SampleConsensusModelPerpendicularPlane<T>;
124 #endif // PCL_SAMPLE_CONSENSUS_IMPL_SAC_MODEL_PERPENDICULAR_PLANE_H_