42 #ifndef PCL_WARP_POINT_RIGID_3D_H_ 43 #define PCL_WARP_POINT_RIGID_3D_H_ 45 #include <pcl/registration/eigen.h> 46 #include <pcl/registration/warp_point_rigid.h> 50 namespace registration
59 template <
typename Po
intSourceT,
typename Po
intTargetT,
typename Scalar =
float>
66 typedef boost::shared_ptr<WarpPointRigid3D<PointSourceT, PointTargetT, Scalar> >
Ptr;
67 typedef boost::shared_ptr<const WarpPointRigid3D<PointSourceT, PointTargetT, Scalar> >
ConstPtr;
84 trans = Matrix4::Zero ();
89 trans.block (0, 3, 4, 1) = Eigen::Matrix<Scalar, 4, 1> (p[0], p[1], 0, 1.0);
92 Eigen::Rotation2D<Scalar> r (p[2]);
93 trans.topLeftCorner (2, 2) = r.toRotationMatrix ();
WarpPointRigid< PointSourceT, PointTargetT, Scalar >::Matrix4 Matrix4
Eigen::Matrix< Scalar, 4, 4 > Matrix4
WarpPointRigid3D()
Constructor.
boost::shared_ptr< WarpPointRigid3D< PointSourceT, PointTargetT, Scalar > > Ptr
WarpPointRigid< PointSourceT, PointTargetT, Scalar >::VectorX VectorX
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > VectorX
virtual void setParam(const VectorX &p)
Set warp parameters.
WarpPointRigid3D enables 3D (1D rotation + 2D translation) transformations for points.
int getDimension() const
Get the number of dimensions.
boost::shared_ptr< const WarpPointRigid3D< PointSourceT, PointTargetT, Scalar > > ConstPtr
virtual ~WarpPointRigid3D()
Empty destructor.
Matrix4 transform_matrix_