pinocchio  3.3.0
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 Types inherited from NumericalBase< Derived >
typedef traits< Derived >::Scalar Scalar
 

Public Member Functions

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)
 
template<typename QuaternionLike , typename Vector3Like >
 SE3Tpl (const Eigen::QuaternionBase< QuaternionLike > &quat, const Eigen::MatrixBase< Vector3Like > &trans)
 
 SE3Tpl (const SE3Tpl &other)
 
template<typename S2 , int O2>
 SE3Tpl (const SE3Tpl< S2, O2 > &other)
 
template<int O2>
 SE3Tpl (const SE3Tpl< Scalar, O2 > &clone)
 
 SE3Tpl (int)
 
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...
 
template<int O2>
SE3Tpl act_impl (const SE3Tpl< Scalar, O2 > &m2) const
 
Vector3 act_impl (const Vector3 &p) const
 
template<typename D >
SE3GroupAction< D >::ReturnType actInv_impl (const D &d) const
 by = aXb.actInv(ay)
 
template<int O2>
SE3Tpl actInv_impl (const SE3Tpl< Scalar, O2 > &m2) const
 
Vector3 actInv_impl (const Vector3 &p) const
 
template<typename MapDerived >
Vector3 actInvOnEigenObject (const Eigen::MapBase< MapDerived > &p) const
 
template<typename EigenDerived >
EigenDerived::PlainObject actInvOnEigenObject (const Eigen::MatrixBase< EigenDerived > &p) const
 
template<typename MapDerived >
Vector3 actOnEigenObject (const Eigen::MapBase< MapDerived > &p) const
 
template<typename EigenDerived >
EigenDerived::PlainObject actOnEigenObject (const Eigen::MatrixBase< EigenDerived > &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
 
SE3Tploperator= (const SE3Tpl &other)
 Copy assignment operator. More...
 
template<int O2>
SE3Tploperator= (const SE3Tpl< Scalar, O2 > &other)
 
 PINOCCHIO_SE3_TYPEDEF_TPL (SE3Tpl)
 
AngularRef rotation_impl ()
 
ConstAngularRef rotation_impl () const
 
void rotation_impl (const AngularType &R)
 
SE3TplsetIdentity ()
 
SE3TplsetRandom ()
 
ActionMatrixType toActionMatrix_impl () const
 
template<typename Matrix6Like >
void toActionMatrix_impl (const Eigen::MatrixBase< Matrix6Like > &action_matrix) const
 Vb.toVector() = bXa.toMatrix() * Va.toVector()
 
ActionMatrixType toActionMatrixInverse_impl () const
 
template<typename Matrix6Like >
void toActionMatrixInverse_impl (const Eigen::MatrixBase< Matrix6Like > &action_matrix_inverse) const
 
ActionMatrixType toDualActionMatrix_impl () const
 
template<typename Matrix6Like >
void toDualActionMatrix_impl (const Eigen::MatrixBase< Matrix6Like > &dual_action_matrix) const
 
HomogeneousMatrixType toHomogeneousMatrix_impl () const
 
LinearRef translation_impl ()
 
ConstLinearRef translation_impl () const
 
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 > & const_cast_derived () const
 
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 >)
 
AngularRef rotation ()
 
ConstAngularRef rotation () const
 
void rotation (const AngularType &R)
 
ActionMatrixType toActionMatrix () const
 The action matrix \( {}^aX_b \) of \( {}^aM_b \). More...
 
void toActionMatrix (const Eigen::MatrixBase< Matrix6Like > &action_matrix) const
 
ActionMatrixType toActionMatrixInverse () const
 The action matrix \( {}^bX_a \) of \( {}^aM_b \). More...
 
void toActionMatrixInverse (const Eigen::MatrixBase< Matrix6Like > &action_matrix_inverse) const
 
ActionMatrixType toDualActionMatrix () const
 
void toDualActionMatrix (const Eigen::MatrixBase< Matrix6Like > &dual_action_matrix) const
 
HomogeneousMatrixType toHomogeneousMatrix () const
 
LinearRef translation ()
 
ConstLinearRef translation () const
 
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 48 of file se3-tpl.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 265 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 379 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.

◆ operator=()

SE3Tpl& operator= ( const SE3Tpl< _Scalar, _Options > &  other)
inline

Copy assignment operator.

Parameters
[in]otherSE3 to copy

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


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