47 namespace registration {
55 template <
typename Po
intSourceT,
typename Po
intTargetT,
typename Scalar =
float>
58 using Matrix4 = Eigen::Matrix<Scalar, 4, 4>;
59 using VectorX = Eigen::Matrix<Scalar, Eigen::Dynamic, 1>;
60 using Vector4 = Eigen::Matrix<Scalar, 4, 1>;
62 using Ptr = shared_ptr<WarpPointRigid<PointSourceT, PointTargetT, Scalar>>;
63 using ConstPtr = shared_ptr<const WarpPointRigid<PointSourceT, PointTargetT, Scalar>>;
87 warpPoint(
const PointSourceT& pnt_in, PointSourceT& pnt_out)
const
89 pnt_out.x =
static_cast<float>(
92 pnt_out.y =
static_cast<float>(
95 pnt_out.z =
static_cast<float>(
111 pnt_out[0] =
static_cast<Scalar
>(
114 pnt_out[1] =
static_cast<Scalar
>(
117 pnt_out[2] =
static_cast<Scalar
>(
void warpPoint(const PointSourceT &pnt_in, Vector4 &pnt_out) const
Warp a point given a transformation matrix.
Matrix4 transform_matrix_
WarpPointRigid(int nr_dim)
Constructor.
shared_ptr< WarpPointRigid< PointSourceT, PointTargetT, Scalar > > Ptr
virtual ~WarpPointRigid()=default
Destructor.
void warpPoint(const PointSourceT &pnt_in, PointSourceT &pnt_out) const
Warp a point given a transformation matrix.
Eigen::Matrix< Scalar, 4, 4 > Matrix4
Eigen::Matrix< Scalar, 4, 1 > Vector4
virtual void setParam(const VectorX &p)=0
Set warp parameters.
const Matrix4 & getTransform() const
Get the Transform used.
shared_ptr< const WarpPointRigid< PointSourceT, PointTargetT, Scalar > > ConstPtr
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > VectorX
int getDimension() const
Get the number of dimensions.
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Defines functions, macros and traits for allocating and using memory.
Defines all the PCL and non-PCL macros used.