Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived > Class Template Reference

Base class for SE(3) Lie Group. More...

#include <LieGroup_SE3.h>

Public Types

typedef Matrix< Scalar, 6, 6 > AdjointMatrix
 
typedef LieAlgebra< Matrix< Scalar, 6, 1 > > Algebra
 
typedef LieAlgebraDual< Matrix< Scalar, 6, 1 > > AlgebraDual
 
typedef Array< Scalar, 7, 1 > BaseType
 
typedef internal::traits< Derived >::Coefficients Coefficients
 
typedef internal::traits< Derived >::PlainObject PlainObject
 
typedef internal::traits< Derived >::Scalar Scalar
 
typedef LieGroup< Quaternion< Scalar > > SO3Element
 
typedef Matrix< Scalar, 3, 1 > Vector3
 

Public Member Functions

AdjointMatrix adjoint (void) const
 
template<class AlgebraDerived >
Algebra adjoint (const LieAlgebraBase< Matrix< Scalar, 6, 1 >, AlgebraDerived > &) const
 
template<class AlgebraDualDerived >
AlgebraDual adjointTr (const LieAlgebraDualBase< Matrix< Scalar, 6, 1 >, AlgebraDualDerived > &) const
 
const Derived & derived () const
 
Derived & derived ()
 
Coefficientsget ()
 
const Coefficientsget () const
 
Map< Vector3getR3Element ()
 
Map< const Vector3getR3Element () const
 
Map< SO3ElementgetSO3Element ()
 
Map< const SO3ElementgetSO3Element () const
 
EIGEN_STRONG_INLINE PlainObject inverse () const
 
Algebra log (const Scalar precision=1e-6) const
 
template<class OtherDerived >
PlainObject operator* (const LieGroupBase< BaseType, OtherDerived > &other) const
 
template<class OtherDerived >
Vector3 operator* (const MatrixBase< OtherDerived > &d) const
 
template<class OtherDerived >
EIGEN_STRONG_INLINE LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::PlainObject operator* (const LieGroupBase< Array< Scalar, 7, 1 >, OtherDerived > &other) const
 
template<class OtherDerived >
EIGEN_STRONG_INLINE LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::Vector3 operator* (const MatrixBase< OtherDerived > &vec) const
 
template<class OtherDerived >
EIGEN_STRONG_INLINE Derived & operator*= (const LieGroupBase< BaseType, OtherDerived > &other)
 
EIGEN_STRONG_INLINE LieGroupBaseoperator= (const LieGroupBase &other)
 
template<class OtherDerived >
EIGEN_STRONG_INLINE Derived & operator= (const LieGroupBase< BaseType, OtherDerived > &other)
 
template<class OtherDerived >
Derived & operator= (const MatrixBase< OtherDerived > &m)
 
template<class OtherDerived >
Derived & operator= (const LieGroupBase< BaseType, OtherDerived > &other)
 
template<class MatrixDerived >
Derived & operator= (const MatrixBase< MatrixDerived > &xpr)
 

Static Public Member Functions

static PlainObject Identity ()
 

Friends

template<class OtherDerived >
std::ostream & operator<< (std::ostream &os, const LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived > &g)
 

Detailed Description

template<class Derived>
class LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >

Base class for SE(3) Lie Group.

LieGroupBase<Array<Scalar, 7, 1>, Derived>

Template Parameters
Derivedthe derived class holding the coefficients which are of type Array<Scalar, 7, 1> or Map<Array<Scalar, 7, 1> >

This class actually implements the methods defined in LieGroupBase<G> and add specific accessors. Since Se(3) is the semi direct product of R^3 and SO(3) many operations ar eperformed using directly the part form R^3 or SO(3)

Definition at line 37 of file LieGroup_SE3.h.

Member Typedef Documentation

template<class Derived >
typedef Matrix<Scalar, 6, 6> LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::AdjointMatrix

The type of the adjoint Matrix

Definition at line 51 of file LieGroup_SE3.h.

template<class Derived >
typedef LieAlgebra<Matrix<Scalar, 6, 1> > LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::Algebra

The type of the associated Algebra

Definition at line 53 of file LieGroup_SE3.h.

template<class Derived >
typedef LieAlgebraDual<Matrix<Scalar, 6, 1> > LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::AlgebraDual

The type of the dual Algebra

Definition at line 55 of file LieGroup_SE3.h.

template<class Derived >
typedef Array<Scalar, 7, 1> LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::BaseType

The wrapped class

Definition at line 44 of file LieGroup_SE3.h.

template<class Derived >
typedef internal::traits<Derived>::Coefficients LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::Coefficients

The kind of stored coefficients

Definition at line 46 of file LieGroup_SE3.h.

template<class Derived >
typedef internal::traits<Derived>::PlainObject LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::PlainObject

The plain object returned, while using Map<LieGroup< > >

Definition at line 48 of file LieGroup_SE3.h.

template<class Derived >
typedef internal::traits<Derived>::Scalar LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::Scalar

The type of stored coefficients

Definition at line 42 of file LieGroup_SE3.h.

template<class Derived >
typedef LieGroup<Quaternion<Scalar> > LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::SO3Element

The type of an element of SO(3)

Definition at line 60 of file LieGroup_SE3.h.

template<class Derived >
typedef Matrix<Scalar, 3, 1> LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::Vector3

The type of an element of R^3

Definition at line 58 of file LieGroup_SE3.h.

Member Function Documentation

template<class Derived >
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::AdjointMatrix LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::adjoint ( void  ) const
Returns
The matrix which is the adjoint representation of the element

Definition at line 318 of file LieGroup_SE3.h.

template<class Derived >
template<class AlgebraDerived >
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::Algebra LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::adjoint ( const LieAlgebraBase< Matrix< Scalar, 6, 1 >, AlgebraDerived > &  a) const
inline
Returns
The algebra which is the product of the adjoint representation and a element of the associated algebra

Definition at line 344 of file LieGroup_SE3.h.

template<class Derived >
template<class AlgebraDualDerived >
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::AlgebraDual LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::adjointTr ( const LieAlgebraDualBase< Matrix< Scalar, 6, 1 >, AlgebraDualDerived > &  ca) const
inline
Returns
The algebr dual which is the product of the adjoint representation and a element of the associated algebra dual

Definition at line 361 of file LieGroup_SE3.h.

template<class Derived >
const Derived& LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::derived ( ) const
inline

The read-only accessor to the derived class

Definition at line 93 of file LieGroup_SE3.h.

template<class Derived >
Derived& LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::derived ( )
inline

The accessor to the derived class

Definition at line 95 of file LieGroup_SE3.h.

template<class Derived >
Coefficients& LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::get ( )
inline
Returns
The stored coefficients by the derived class

Definition at line 108 of file LieGroup_SE3.h.

template<class Derived >
const Coefficients& LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::get ( ) const
inline
Returns
The read-only access to the stored coefficients by the derived class

Definition at line 110 of file LieGroup_SE3.h.

template<class Derived >
Map<Vector3> LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::getR3Element ( )
inline

The accessor to the R^3 element

Definition at line 103 of file LieGroup_SE3.h.

template<class Derived >
Map<const Vector3> LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::getR3Element ( ) const
inline

The read-only accessor to the R^3 element

Definition at line 105 of file LieGroup_SE3.h.

template<class Derived >
Map<SO3Element> LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::getSO3Element ( )
inline

The accessor to the SO(3) element

Definition at line 98 of file LieGroup_SE3.h.

template<class Derived >
Map<const SO3Element> LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::getSO3Element ( ) const
inline

The read-only accessor to the SO(3) element

Definition at line 100 of file LieGroup_SE3.h.

template<class Derived >
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::PlainObject LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::Identity ( )
static
Returns
The plain object describing the identity element of the Lie group

Definition at line 163 of file LieGroup_SE3.h.

template<class Derived >
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::PlainObject LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::inverse ( ) const
Returns
a plain object describing the inverse element

Definition at line 154 of file LieGroup_SE3.h.

template<class Derived >
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::Algebra LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::log ( const Scalar  precision = 1e-6) const
inline
Returns
The element of the associated Algebra through the exponential map
See also
the exponential map is given by LieAlgebra::exp()

Definition at line 207 of file LieGroup_SE3.h.

template<class Derived >
template<class OtherDerived >
PlainObject LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator* ( const LieGroupBase< BaseType, OtherDerived > &  other) const
inline
Returns
The plain object describing the composition of two Base elements
template<class Derived >
template<class OtherDerived >
Vector3 LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator* ( const MatrixBase< OtherDerived > &  d) const
inline
Returns
The transformation of v through the rigid displacement described by this element
template<class Derived >
template<class OtherDerived >
EIGEN_STRONG_INLINE LieGroupBase<Array<typename internal::traits<Derived>::Scalar, 7, 1 >, Derived>::PlainObject LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator* ( const LieGroupBase< Array< Scalar, 7, 1 >, OtherDerived > &  other) const

Definition at line 175 of file LieGroup_SE3.h.

template<class Derived >
template<class OtherDerived >
EIGEN_STRONG_INLINE LieGroupBase<Array<typename internal::traits<Derived>::Scalar, 7, 1 >, Derived>::Vector3 LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator* ( const MatrixBase< OtherDerived > &  vec) const

Definition at line 199 of file LieGroup_SE3.h.

template<class Derived >
template<class OtherDerived >
EIGEN_STRONG_INLINE Derived & LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator*= ( const LieGroupBase< BaseType, OtherDerived > &  other)
Returns
the compose in place

Definition at line 185 of file LieGroup_SE3.h.

template<class Derived >
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived > & LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator= ( const LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived > &  other)
inline

Default assignement operator

Definition at line 124 of file LieGroup_SE3.h.

template<class Derived >
template<class OtherDerived >
EIGEN_STRONG_INLINE Derived& LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator= ( const LieGroupBase< BaseType, OtherDerived > &  other)

Assignement operator between derived type

template<class Derived >
template<class OtherDerived >
Derived& LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator= ( const MatrixBase< OtherDerived > &  m)

Assignement operator from a Matrix

template<class Derived >
template<class OtherDerived >
Derived& LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator= ( const LieGroupBase< BaseType, OtherDerived > &  other)
inline

Definition at line 133 of file LieGroup_SE3.h.

template<class Derived >
template<class MatrixDerived >
Derived& LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator= ( const MatrixBase< MatrixDerived > &  xpr)
inline

Definition at line 142 of file LieGroup_SE3.h.

Friends And Related Function Documentation

template<class Derived >
template<class OtherDerived >
std::ostream& operator<< ( std::ostream &  os,
const LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived > &  g 
)
friend

Outputs to the given stream : order : x y z qw qx qy qz (it's different from the storage order)


The documentation for this class was generated from the following file:


lgsm
Author(s): Roberto Martín-Martín
autogenerated on Mon Jun 10 2019 14:05:59