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>>;
89 Eigen::Quaternion<Scalar> q(0, p[3], p[4], p[5]);
90 q.w() =
static_cast<Scalar
>(std::sqrt(1 - q.dot(q)));
~WarpPointRigid6D() override=default
Empty destructor.
Eigen::Matrix< Scalar, 4, 4 > Matrix4
shared_ptr< const WarpPointRigid< PointSourceT, PointTargetT, Scalar >> ConstPtr
shared_ptr< WarpPointRigid< PointSourceT, PointTargetT, Scalar >> Ptr
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > VectorX
WarpPointRigid3D enables 6D (3D rotation + 3D translation) transformations for points.
int getDimension() const
Get the number of dimensions.
void setParam(const VectorX &p) override
Set warp parameters.
Matrix4 transform_matrix_