Go to the documentation of this file.
6 #ifndef __pinocchio_spatial_se3_base_hpp__
7 #define __pinocchio_spatial_se3_base_hpp__
29 template<
class Derived>
36 return *
static_cast<Derived *
>(
this);
40 return *
static_cast<const Derived *
>(
this);
45 return *
const_cast<Derived *
>(&
derived());
50 return derived().rotation_impl();
54 return derived().translation_impl();
58 return derived().rotation_impl();
62 return derived().translation_impl();
75 return derived().toHomogeneousMatrix_impl();
77 operator HomogeneousMatrixType()
const
94 return derived().toActionMatrix_impl();
96 operator ActionMatrixType()
const
101 template<
typename Matrix6Like>
104 derived().toActionMatrix_impl(action_matrix);
113 return derived().toActionMatrixInverse_impl();
116 template<
typename Matrix6Like>
119 derived().toActionMatrixInverse_impl(action_matrix_inverse.const_cast_derived());
124 return derived().toDualActionMatrix_impl();
127 void disp(std::ostream & os)
const
129 static_cast<const Derived *
>(
this)->disp_impl(os);
132 template<
typename Matrix6Like>
135 derived().toDualActionMatrix_impl(dual_action_matrix);
159 return derived().isEqual(other);
164 return !(*
this == other);
168 const Derived & other,
169 const Scalar & prec = Eigen::NumTraits<Scalar>::dummy_precision())
const
171 return derived().isApprox_impl(other, prec);
188 return derived().isIdentity(prec);
197 return derived().isNormalized(prec);
221 #endif // ifndef __pinocchio_spatial_se3_base_hpp__
HomogeneousMatrixType toHomogeneousMatrix() const
bool operator!=(const Derived &other) const
SE3GroupAction< D >::ReturnType actInv(const D &d) const
by = aXb.actInv(ay)
bool isIdentity(const typename traits< Derived >::Scalar &prec=Eigen::NumTraits< typename traits< Derived >::Scalar >::dummy_precision()) const
void toActionMatrix(const Eigen::MatrixBase< Matrix6Like > &action_matrix) const
bool isApprox(const Derived &other, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
ActionMatrixType toDualActionMatrix() const
traits< Derived >::Scalar Scalar
friend std::ostream & operator<<(std::ostream &os, const SE3Base< Derived > &X)
PINOCCHIO_SE3_TYPEDEF_TPL(Derived)
Derived & const_cast_derived() const
ConstLinearRef translation() const
ActionMatrixType toActionMatrix() const
The action matrix of .
void disp(std::ostream &os) const
void toActionMatrixInverse(const Eigen::MatrixBase< Matrix6Like > &action_matrix_inverse) const
bool operator==(const Derived &other) const
SE3GroupAction< Derived >::ReturnType operator*(const Derived &m2) const
const Derived & derived() const
SE3GroupAction< D >::ReturnType act(const D &d) const
ay = aXb.act(by)
Base class for rigid transformation.
ActionMatrixType toActionMatrixInverse() const
The action matrix of .
PlainType normalized() const
ConstAngularRef rotation() const
Common traits structure to fully define base classes for CRTP.
void toDualActionMatrix(const Eigen::MatrixBase< Matrix6Like > &dual_action_matrix) const
bool isNormalized(const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
void normalize()
Normalize *this in such a way the rotation part of *this lies on SO(3).
Main pinocchio namespace.
pinocchio
Author(s):
autogenerated on Sun Dec 22 2024 03:41:12