pinocchio  2.4.4
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
SE3Tpl< _Scalar, _Options > Struct Template Reference
Inheritance diagram for SE3Tpl< _Scalar, _Options >:
Collaboration diagram for SE3Tpl< _Scalar, _Options >:

Public Types

typedef SE3Base< SE3Tpl< _Scalar, _Options > > Base
 
typedef traits< SE3Tpl >::Matrix3 Matrix3
 
typedef traits< SE3Tpl >::Matrix4 Matrix4
 
typedef traits< SE3Tpl >::Matrix6 Matrix6
 
typedef Eigen::Quaternion< Scalar, Options > Quaternion
 
typedef traits< SE3Tpl >::Vector3 Vector3
 
typedef traits< SE3Tpl >::Vector4 Vector4
 

Public Member Functions

template<typename QuaternionLike , typename Vector3Like >
 SE3Tpl (const Eigen::QuaternionBase< QuaternionLike > &quat, const Eigen::MatrixBase< Vector3Like > &trans)
 
template<typename Matrix3Like , typename Vector3Like >
 SE3Tpl (const Eigen::MatrixBase< Matrix3Like > &R, const Eigen::MatrixBase< Vector3Like > &trans)
 
template<typename Matrix4Like >
 SE3Tpl (const Eigen::MatrixBase< Matrix4Like > &m)
 
 SE3Tpl (int)
 
template<int O2>
 SE3Tpl (const SE3Tpl< Scalar, O2 > &clone)
 
template<int O2>
SE3Tpl __mult__ (const SE3Tpl< Scalar, O2 > &m2) const
 
template<typename D >
SE3GroupAction< D >::ReturnType act_impl (const D &d) const
 — GROUP ACTIONS ON M6, F6 and I6 — More...
 
Vector3 act_impl (const Vector3 &p) const
 
template<int O2>
SE3Tpl act_impl (const SE3Tpl< Scalar, O2 > &m2) const
 
template<typename D >
SE3GroupAction< D >::ReturnType actInv_impl (const D &d) const
 by = aXb.actInv(ay)
 
Vector3 actInv_impl (const Vector3 &p) const
 
template<int O2>
SE3Tpl actInv_impl (const SE3Tpl< Scalar, O2 > &m2) const
 
template<typename EigenDerived >
EigenDerived::PlainObject actInvOnEigenObject (const Eigen::MatrixBase< EigenDerived > &p) const
 
template<typename MapDerived >
Vector3 actInvOnEigenObject (const Eigen::MapBase< MapDerived > &p) const
 
template<typename EigenDerived >
EigenDerived::PlainObject actOnEigenObject (const Eigen::MatrixBase< EigenDerived > &p) const
 
template<typename MapDerived >
Vector3 actOnEigenObject (const Eigen::MapBase< MapDerived > &p) const
 
template<typename NewScalar >
SE3Tpl< NewScalar, Options > cast () const
 
void disp_impl (std::ostream &os) const
 
template<typename OtherScalar >
SE3Tpl< Scalar, Options > Interpolate (const SE3Tpl &A, const SE3Tpl &B, const OtherScalar &alpha)
 
SE3Tpl inverse () const
 aXb = bXa.inverse()
 
template<int O2>
bool isApprox_impl (const SE3Tpl< Scalar, O2 > &m2, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
template<int O2>
bool isEqual (const SE3Tpl< Scalar, O2 > &m2) const
 
bool isIdentity (const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
bool isNormalized (const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
void normalize ()
 
PlainType normalized () const
 
template<int O2>
SE3Tploperator= (const SE3Tpl< Scalar, O2 > &other)
 
 PINOCCHIO_SE3_TYPEDEF_TPL (SE3Tpl)
 
ConstAngularRef rotation_impl () const
 
AngularRef rotation_impl ()
 
void rotation_impl (const AngularType &R)
 
SE3TplsetIdentity ()
 
SE3TplsetRandom ()
 
ActionMatrixType toActionMatrix_impl () const
 Vb.toVector() = bXa.toMatrix() * Va.toVector()
 
ActionMatrixType toActionMatrixInverse_impl () const
 
ActionMatrixType toDualActionMatrix_impl () const
 
HomogeneousMatrixType toHomogeneousMatrix_impl () const
 
ConstLinearRef translation_impl () const
 
LinearRef translation_impl ()
 
void translation_impl (const LinearType &p)
 
- Public Member Functions inherited from SE3Base< SE3Tpl< _Scalar, _Options > >
SE3GroupAction< D >::ReturnType act (const D &d) const
 ay = aXb.act(by)
 
SE3GroupAction< D >::ReturnType actInv (const D &d) const
 by = aXb.actInv(ay)
 
SE3Tpl< _Scalar, _Options > & derived ()
 
const SE3Tpl< _Scalar, _Options > & derived () const
 
void disp (std::ostream &os) const
 
bool isApprox (const SE3Tpl< _Scalar, _Options > &other, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
bool isIdentity (const typename traits< SE3Tpl< _Scalar, _Options > >::Scalar &prec=Eigen::NumTraits< typename traits< SE3Tpl< _Scalar, _Options > >::Scalar >::dummy_precision()) 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).
 
PlainType normalized () const
 
 operator ActionMatrixType () const
 
 operator HomogeneousMatrixType () const
 
bool operator!= (const SE3Tpl< _Scalar, _Options > &other) const
 
SE3GroupAction< SE3Tpl< _Scalar, _Options > >::ReturnType operator* (const SE3Tpl< _Scalar, _Options > &m2) const
 
bool operator== (const SE3Tpl< _Scalar, _Options > &other) const
 
 PINOCCHIO_SE3_TYPEDEF_TPL (SE3Tpl< _Scalar, _Options >)
 
ConstAngularRef rotation () const
 
AngularRef rotation ()
 
void rotation (const AngularType &R)
 
ActionMatrixType toActionMatrix () const
 The action matrix \( {}^aX_b \) of \( {}^aM_b \). More...
 
ActionMatrixType toActionMatrixInverse () const
 The action matrix \( {}^bX_a \) of \( {}^aM_b \). More...
 
ActionMatrixType toDualActionMatrix () const
 
HomogeneousMatrixType toHomogeneousMatrix () const
 
ConstLinearRef translation () const
 
LinearRef translation ()
 
void translation (const LinearType &t)
 

Static Public Member Functions

static SE3Tpl Identity ()
 
template<typename OtherScalar >
static SE3Tpl Interpolate (const SE3Tpl &A, const SE3Tpl &B, const OtherScalar &alpha)
 Linear interpolation on the SE3 manifold. More...
 
static SE3Tpl Random ()
 

Protected Attributes

AngularType rot
 
LinearType trans
 

Detailed Description

template<typename _Scalar, int _Options>
struct pinocchio::SE3Tpl< _Scalar, _Options >

Definition at line 38 of file fwd.hpp.

Member Function Documentation

◆ act_impl()

SE3GroupAction<D>::ReturnType act_impl ( const D &  d) const
inline

— GROUP ACTIONS ON M6, F6 and I6 —

ay = aXb.act(by)

Definition at line 210 of file se3-tpl.hpp.

◆ cast()

SE3Tpl<NewScalar,Options> cast ( ) const
inline
Returns
An expression of *this with the Scalar type casted to NewScalar.

Definition at line 288 of file se3-tpl.hpp.

◆ Interpolate()

static SE3Tpl Interpolate ( const SE3Tpl< _Scalar, _Options > &  A,
const SE3Tpl< _Scalar, _Options > &  B,
const OtherScalar &  alpha 
)
static

Linear interpolation on the SE3 manifold.

Parameters
[in]AInitial transformation.
[in]BTarget transformation.
[in]alphaInterpolation factor in [0 ... 1].
Returns
An interpolated transformation between A and B.
Note
This is similar to the SLERP operation which acts initially for rotation but applied here to rigid transformation.

The documentation for this struct was generated from the following files: