Public Types | Public Member Functions | Static Public Member Functions | Friends
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>

List of all members.

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 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 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 >
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 > &  d) const [inline]
Returns:
The transformation of v through the rigid displacement described by this element

Definition at line 199 of file LieGroup_SE3.h.

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 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 >
Derived & LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator= ( const LieGroupBase< BaseType, OtherDerived > &  other) [inline]

Assignement operator between derived type

Definition at line 133 of file LieGroup_SE3.h.

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 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 Sat Jun 8 2019 18:26:30