43 #include <pcl/registration/warp_point_rigid.h>
46 namespace registration {
55 template <
typename Po
intSourceT,
typename Po
intTargetT,
typename Scalar =
float>
63 using Ptr = shared_ptr<WarpPointRigid6D<PointSourceT, PointTargetT, Scalar>>;
65 shared_ptr<const WarpPointRigid6D<PointSourceT, PointTargetT, Scalar>>;
79 assert(p.rows() == this->getDimension());
89 Eigen::Quaternion<Scalar> q(0, p[3], p[4], p[5]);
90 q.w() =
static_cast<Scalar
>(std::sqrt(1 - q.dot(q)));