38 #ifndef PCL_WARP_POINT_RIGID_H_
39 #define PCL_WARP_POINT_RIGID_H_
42 #include <Eigen/Geometry>
46 template <
class Po
intSourceT,
class Po
intTargetT>
51 WarpPointRigid (
int nr_dim): nr_dim_ (nr_dim), transform_matrix_ (Eigen::Matrix4f::Zero ())
53 transform_matrix_ (3,3) = 1.0;
59 setParam (
const Eigen::VectorXf& p) = 0;
62 warpPoint (
const PointSourceT& pnt_in, PointSourceT& pnt_out)
const
64 pnt_out.getVector3fMap () = transform_matrix_.topLeftCorner<3, 3> () * pnt_in.getVector3fMap() +
65 transform_matrix_.block<3,1> (0, 3);
66 pnt_out.data [3] = pnt_in.data [3];
72 const Eigen::Matrix4f&
76 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
80 Eigen::Matrix4f transform_matrix_;