41 #ifndef PCL_REGISTRATION_H_
42 #define PCL_REGISTRATION_H_
45 #include <pcl/pcl_base.h>
46 #include <pcl/common/transforms.h>
47 #include <pcl/pcl_macros.h>
48 #include <pcl/search/kdtree.h>
49 #include <pcl/kdtree/kdtree_flann.h>
50 #include <pcl/registration/boost.h>
51 #include <pcl/registration/transformation_estimation.h>
52 #include <pcl/registration/correspondence_estimation.h>
53 #include <pcl/registration/correspondence_rejection.h>
61 template <
typename Po
intSource,
typename Po
intTarget,
typename Scalar =
float>
65 typedef Eigen::Matrix<Scalar, 4, 4>
Matrix4;
72 typedef boost::shared_ptr< Registration<PointSource, PointTarget, Scalar> >
Ptr;
73 typedef boost::shared_ptr< const Registration<PointSource, PointTarget, Scalar> >
ConstPtr;
127 , point_representation_ ()
222 bool force_no_recompute =
false)
225 if (force_no_recompute)
250 bool force_no_recompute =
false)
253 if ( force_no_recompute )
363 point_representation_ = point_representation;
370 template<
typename FunctionSignature>
inline bool
373 if (visualizerCallback != NULL)
387 getFitnessScore (
double max_range = std::numeric_limits<double>::max ());
395 getFitnessScore (
const std::vector<float> &distances_a,
const std::vector<float> &distances_b);
417 inline const std::string&
451 inline std::vector<CorrespondenceRejectorPtr>
570 boost::function<void(const pcl::PointCloud<PointSource> &cloud_src,
571 const std::vector<int> &indices_src,
583 std::vector<int> &indices, std::vector<float> &distances)
585 int k =
tree_->nearestKSearch (cloud, index, 1, indices, distances);
599 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
603 #include <pcl/registration/impl/registration.hpp>
605 #endif //#ifndef PCL_REGISTRATION_H_