43 #include <pcl/registration/transformation_estimation.h>
44 #include <pcl/registration/transformation_estimation_lm.h>
45 #include <pcl/registration/warp_point_rigid.h>
48 namespace registration {
56 template <
typename Po
intSource,
typename Po
intTarget,
typename Scalar =
float>
60 using Ptr = shared_ptr<
72 using Vector4 = Eigen::Matrix<Scalar, 4, 1>;
79 computeDistance(
const PointSource& p_src,
const PointTarget& p_tgt)
const override
82 Vector4 s(p_src.x, p_src.y, p_src.z, 0);
83 Vector4 t(p_tgt.x, p_tgt.y, p_tgt.z, 0);
84 Vector4 n(p_tgt.normal_x, p_tgt.normal_y, p_tgt.normal_z, 0);
85 return ((s - t).dot(n));
92 Vector4 t(p_tgt.x, p_tgt.y, p_tgt.z, 0);
93 Vector4 n(p_tgt.normal_x, p_tgt.normal_y, p_tgt.normal_z, 0);
94 return ((p_src - t).dot(n));
shared_ptr< PointCloud< PointSource > > Ptr
shared_ptr< const PointCloud< PointSource > > ConstPtr
shared_ptr< ::pcl::PointIndices > Ptr
shared_ptr< const ::pcl::PointIndices > ConstPtr