40 #ifndef PCL_SAMPLE_CONSENSUS_MODEL_CIRCLE2D_H_
41 #define PCL_SAMPLE_CONSENSUS_MODEL_CIRCLE2D_H_
58 template <
typename Po
intT>
71 typedef boost::shared_ptr<SampleConsensusModelCircle2D>
Ptr;
104 tmp_inliers_ = source.tmp_inliers_;
115 Eigen::VectorXf &model_coefficients);
123 std::vector<double> &distances);
132 const double threshold,
133 std::vector<int> &inliers);
143 const double threshold);
153 const Eigen::VectorXf &model_coefficients,
154 Eigen::VectorXf &optimized_coefficients);
164 const Eigen::VectorXf &model_coefficients,
166 bool copy_data_fields =
true);
175 const Eigen::VectorXf &model_coefficients,
176 const double threshold);
187 isModelValid (
const Eigen::VectorXf &model_coefficients);
193 isSampleGood(
const std::vector<int> &samples)
const;
197 const std::vector<int> *tmp_inliers_;
199 #if defined BUILD_Maintainer && defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ > 3
200 #pragma GCC diagnostic ignored "-Weffc++"
211 pcl::
Functor<float>(m_data_points), model_ (model) {}
219 operator() (
const Eigen::VectorXf &x, Eigen::VectorXf &fvec)
const
221 for (
int i = 0; i < values (); ++i)
224 float xt = model_->input_->points[(*model_->tmp_inliers_)[i]].x - x[0];
225 float yt = model_->input_->points[(*model_->tmp_inliers_)[i]].y - x[1];
228 fvec[i] = sqrtf (xt * xt + yt * yt) - x[2];
235 #if defined BUILD_Maintainer && defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ > 3
236 #pragma GCC diagnostic warning "-Weffc++"
241 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_CIRCLE2D_H_