41 #ifndef PCL_SAMPLE_CONSENSUS_IMPL_SAC_MODEL_NORMAL_PARALLEL_PLANE_H_
42 #define PCL_SAMPLE_CONSENSUS_IMPL_SAC_MODEL_NORMAL_PARALLEL_PLANE_H_
44 #include <pcl/sample_consensus/sac_model_normal_parallel_plane.h>
47 template <
typename Po
intT,
typename Po
intNT>
bool
57 Eigen::Vector4f coeff = model_coefficients;
61 if (std::abs (axis_.dot (coeff)) < cos_angle_)
63 PCL_DEBUG (
"[pcl::SampleConsensusModelNormalParallelPlane::isModelValid] Angle between plane normal and given axis is too large.\n");
70 if (std::abs (-model_coefficients[3] - distance_from_origin_) > eps_dist_)
72 PCL_DEBUG (
"[pcl::SampleConsensusModelNormalParallelPlane::isModelValid] Distance of plane to origin is wrong: expected %g, but is %g, difference is larger than %g.\n",
73 distance_from_origin_, -model_coefficients[3], eps_dist_);
81 #define PCL_INSTANTIATE_SampleConsensusModelNormalParallelPlane(PointT, PointNT) template class PCL_EXPORTS pcl::SampleConsensusModelNormalParallelPlane<PointT, PointNT>;
SampleConsensusModel represents the base model class.
bool isModelValid(const Eigen::VectorXf &model_coefficients) const override
Check whether a model is valid given the user constraints.