40 #ifndef PCL_REGISTRATION_TRANSFORMATION_ESTIMATION_H_
41 #define PCL_REGISTRATION_TRANSFORMATION_ESTIMATION_H_
43 #include <pcl/correspondence.h>
44 #include <pcl/common/transforms.h>
45 #include <pcl/registration/correspondence_types.h>
49 namespace registration
61 template <
typename Po
intSource,
typename Po
intTarget,
typename Scalar =
float>
65 typedef Eigen::Matrix<Scalar, 4, 4>
Matrix4;
79 Matrix4 &transformation_matrix)
const = 0;
90 const std::vector<int> &indices_src,
92 Matrix4 &transformation_matrix)
const = 0;
104 const std::vector<int> &indices_src,
106 const std::vector<int> &indices_tgt,
107 Matrix4 &transformation_matrix)
const = 0;
120 Matrix4 &transformation_matrix)
const = 0;
123 typedef boost::shared_ptr<TransformationEstimation<PointSource, PointTarget, Scalar> >
Ptr;
124 typedef boost::shared_ptr<const TransformationEstimation<PointSource, PointTarget, Scalar> >
ConstPtr;
virtual ~TransformationEstimation()
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
Eigen::Matrix< Scalar, 4, 4 > Matrix4
TransformationEstimation represents the base class for methods for transformation estimation based on...
virtual void estimateRigidTransformation(const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const =0
Estimate a rigid rotation transformation between a source and a target point cloud.
boost::shared_ptr< TransformationEstimation< PointSource, PointTarget, Scalar > > Ptr
boost::shared_ptr< const TransformationEstimation< PointSource, PointTarget, Scalar > > ConstPtr
TransformationEstimation()