43 #include <pcl/registration/eigen.h>
44 #include <pcl/registration/warp_point_rigid.h>
48 namespace registration
57 template <
typename Po
intSourceT,
typename Po
intTargetT,
typename Scalar =
float>
64 using Ptr = shared_ptr<WarpPointRigid3D<PointSourceT, PointTargetT, Scalar> >;
65 using ConstPtr = shared_ptr<const WarpPointRigid3D<PointSourceT, PointTargetT, Scalar> >;
79 assert (p.rows () == this->getDimension ());
82 trans = Matrix4::Zero ();
87 trans.block (0, 3, 4, 1) = Eigen::Matrix<Scalar, 4, 1> (p[0], p[1], 0, 1.0);
90 Eigen::Rotation2D<Scalar> r (p[2]);
91 trans.topLeftCorner (2, 2) = r.toRotationMatrix ();