38 #ifndef PCL_SAMPLE_CONSENSUS_IMPL_SAC_MODEL_PARALLEL_LINE_H_
39 #define PCL_SAMPLE_CONSENSUS_IMPL_SAC_MODEL_PARALLEL_LINE_H_
44 template <
typename Po
intT>
void
46 const Eigen::VectorXf &model_coefficients,
const double threshold, std::vector<int> &inliers)
49 if (!isModelValid (model_coefficients))
59 template <
typename Po
intT>
int
61 const Eigen::VectorXf &model_coefficients,
const double threshold)
64 if (!isModelValid (model_coefficients))
71 template <
typename Po
intT>
void
73 const Eigen::VectorXf &model_coefficients, std::vector<double> &distances)
76 if (!isModelValid (model_coefficients))
86 template <
typename Po
intT>
bool
90 if (model_coefficients.size () != 6)
92 PCL_ERROR (
"[pcl::SampleConsensusParallelLine::isModelValid] Invalid number of model coefficients given (%zu)!\n", model_coefficients.size ());
100 Eigen::Vector4f line_dir (model_coefficients[3], model_coefficients[4], model_coefficients[5], 0);
102 Eigen::Vector4f axis (axis_[0], axis_[1], axis_[2], 0);
103 double angle_diff = fabs (
getAngle3D (axis, line_dir));
105 angle_diff = fabs (angle_diff - (M_PI/2.0));
107 if (angle_diff > eps_angle_)
114 #define PCL_INSTANTIATE_SampleConsensusModelParallelLine(T) template class PCL_EXPORTS pcl::SampleConsensusModelParallelLine<T>;
116 #endif // PCL_SAMPLE_CONSENSUS_IMPL_SAC_MODEL_PARALLEL_LINE_H_