Public Types | Public Member Functions | Static Public Member Functions
LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived > Class Template Reference

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

#include <LieGroup_SO3.h>

List of all members.

Public Types

typedef Matrix< Scalar, 3, 3 > AdjointMatrix
typedef LieAlgebra< Matrix
< Scalar, 3, 1 > > 
Algebra
typedef LieAlgebraDual< Matrix
< Scalar, 3, 1 > > 
AlgebraDual
typedef Quaternion< ScalarBaseType
typedef internal::traits
< Derived >::Coefficients 
Coefficients
typedef LieGroup< Quaternion
< Scalar > > 
PlainObject
typedef internal::traits
< Derived >::Scalar 
Scalar

Public Member Functions

AdjointMatrix adjoint (void) const
template<class AlgebraDerived >
Algebra adjoint (const LieAlgebraBase< Matrix< Scalar, 3, 1 >, AlgebraDerived > &) const
template<class AlgebraDualDerived >
AlgebraDual adjointTr (const LieAlgebraDualBase< Matrix< Scalar, 3, 1 >, AlgebraDualDerived > &) const
template<typename NewScalarType >
internal::cast_return_type
< Derived, LieGroup
< Quaternion< NewScalarType >
> >::type 
cast () const
const Derived & derived () const
Derived & derived ()
Coefficientsget ()
const Coefficientsget () const
EIGEN_STRONG_INLINE PlainObject inverse () const
Algebra log (const Scalar precision=1e-6) const
template<class OtherDerived >
EIGEN_STRONG_INLINE PlainObject operator* (const LieGroupBase< BaseType, OtherDerived > &other) const
template<class MatrixDerived >
EIGEN_STRONG_INLINE Matrix
< Scalar, 3, 1 > 
operator* (const MatrixBase< MatrixDerived > &v) const
template<class OtherDerived >
EIGEN_STRONG_INLINE
LieGroupBase< Quaternion
< typename internal::traits
< Derived >::Scalar >, Derived >
::PlainObject 
operator* (const LieGroupBase< Quaternion< Scalar >, 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)
const VectorBlock
< Coefficients, 3 > 
vec () const
VectorBlock< Coefficients, 3 > vec ()
Scalar w () const
Scalarw ()
Scalar x () const
Scalarx ()
Scalar y () const
Scalary ()
Scalar z () const
Scalarz ()

Static Public Member Functions

static PlainObject Identity ()

Detailed Description

template<class Derived>
class LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >

Base class for SO(3) Lie Group.

LieGroupBase<Quaternion, Derived>

Template Parameters:
Derivedthe derived class holding the coefficients which are of type Quaternion<Scalar> or Map<Quaternion<Scalar> >

This class actually implements methods form LieGroupBase for SO(3)

Definition at line 28 of file LieGroup_SO3.h.


Member Typedef Documentation

template<class Derived >
typedef Matrix<Scalar, 3, 3> LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::AdjointMatrix

The type of the adjoint Matrix

Definition at line 42 of file LieGroup_SO3.h.

template<class Derived >
typedef LieAlgebra<Matrix<Scalar, 3, 1> > LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::Algebra

The type of the associated Algebra

Definition at line 44 of file LieGroup_SO3.h.

template<class Derived >
typedef LieAlgebraDual<Matrix<Scalar, 3, 1> > LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::AlgebraDual

The type of the dual Algebra

Definition at line 46 of file LieGroup_SO3.h.

template<class Derived >
typedef Quaternion<Scalar> LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::BaseType

The wrapped class

Definition at line 35 of file LieGroup_SO3.h.

template<class Derived >
typedef internal::traits<Derived>::Coefficients LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::Coefficients

The kind of stored coefficients

Definition at line 37 of file LieGroup_SO3.h.

template<class Derived >
typedef LieGroup<Quaternion<Scalar> > LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::PlainObject

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

Definition at line 39 of file LieGroup_SO3.h.

template<class Derived >
typedef internal::traits<Derived>::Scalar LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::Scalar

The type of stored coefficients

Definition at line 33 of file LieGroup_SO3.h.


Member Function Documentation

template<class Derived >
LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::AdjointMatrix LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::adjoint ( void  ) const [inline]
Returns:
The matrix which is the adjoint representation of the element

Definition at line 202 of file LieGroup_SO3.h.

template<class Derived >
template<class AlgebraDerived >
Algebra LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::adjoint ( const LieAlgebraBase< Matrix< Scalar, 3, 1 >, AlgebraDerived > &  ) const [inline]
Returns:
The algebra which is the product of the adjoint representation and a element of the associated algebra
template<class Derived >
template<class AlgebraDualDerived >
AlgebraDual LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::adjointTr ( const LieAlgebraDualBase< Matrix< Scalar, 3, 1 >, AlgebraDualDerived > &  ) const [inline]
Returns:
The algebra dual which is the product of the adjoint representation and a element of the associated algebra dual
template<class Derived >
template<typename NewScalarType >
internal::cast_return_type<Derived, LieGroup<Quaternion<NewScalarType> > >::type LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::cast ( ) const [inline]
Returns:
*this with scalar type casted to NewScalarType

Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.

Definition at line 110 of file LieGroup_SO3.h.

template<class Derived >
const Derived& LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::derived ( ) const [inline]

The read-only accessor to the derived class

Definition at line 81 of file LieGroup_SO3.h.

template<class Derived >
Derived& LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::derived ( ) [inline]

The accessor to the derived class

Definition at line 83 of file LieGroup_SO3.h.

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

Definition at line 123 of file LieGroup_SO3.h.

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

Definition at line 125 of file LieGroup_SO3.h.

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

Definition at line 162 of file LieGroup_SO3.h.

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

Definition at line 154 of file LieGroup_SO3.h.

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

Definition at line 188 of file LieGroup_SO3.h.

template<class Derived >
template<class OtherDerived >
EIGEN_STRONG_INLINE PlainObject LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::operator* ( const LieGroupBase< BaseType, OtherDerived > &  other) const
Returns:
The plain object describing the composition of two Base elements
template<class Derived >
template<class MatrixDerived >
EIGEN_STRONG_INLINE Matrix<Scalar, 3, 1> LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::operator* ( const MatrixBase< MatrixDerived > &  v) const [inline]
Returns:
The transformation of v through the rotation described by this element

Definition at line 57 of file LieGroup_SO3.h.

template<class Derived >
template<class OtherDerived >
EIGEN_STRONG_INLINE LieGroupBase<Quaternion<typename internal::traits<Derived>::Scalar>, Derived>::PlainObject LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::operator* ( const LieGroupBase< Quaternion< Scalar >, OtherDerived > &  other) const

Definition at line 170 of file LieGroup_SO3.h.

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

Definition at line 179 of file LieGroup_SO3.h.

template<class Derived >
EIGEN_STRONG_INLINE LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived > & LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::operator= ( const LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived > &  other)

Default assignement operator

Definition at line 135 of file LieGroup_SO3.h.

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

Assignement operator between derived type

Definition at line 145 of file LieGroup_SO3.h.

template<class Derived >
template<class OtherDerived >
Derived& LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::operator= ( const MatrixBase< OtherDerived > &  m) [inline]

Assignement operator from a Matrix

Definition at line 78 of file LieGroup_SO3.h.

template<class Derived >
const VectorBlock<Coefficients,3> LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::vec ( ) const [inline]
Returns:
a read-only vector expression of the imaginary part (x,y,z)

Definition at line 117 of file LieGroup_SO3.h.

template<class Derived >
VectorBlock<Coefficients,3> LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::vec ( ) [inline]
Returns:
a vector expression of the imaginary part (x,y,z)

Definition at line 120 of file LieGroup_SO3.h.

template<class Derived >
Scalar LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::w ( ) const [inline]
Returns:
the w coefficient

Definition at line 93 of file LieGroup_SO3.h.

template<class Derived >
Scalar& LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::w ( ) [inline]
Returns:
a reference to the w coefficient

Definition at line 102 of file LieGroup_SO3.h.

template<class Derived >
Scalar LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::x ( ) const [inline]
Returns:
the x coefficient

Definition at line 87 of file LieGroup_SO3.h.

template<class Derived >
Scalar& LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::x ( ) [inline]
Returns:
a reference to the x coefficient

Definition at line 96 of file LieGroup_SO3.h.

template<class Derived >
Scalar LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::y ( ) const [inline]
Returns:
the y coefficient

Definition at line 89 of file LieGroup_SO3.h.

template<class Derived >
Scalar& LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::y ( ) [inline]
Returns:
a reference to the y coefficient

Definition at line 98 of file LieGroup_SO3.h.

template<class Derived >
Scalar LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::z ( ) const [inline]
Returns:
the z coefficient

Definition at line 91 of file LieGroup_SO3.h.

template<class Derived >
Scalar& LieGroupBase< Quaternion< typename internal::traits< Derived >::Scalar >, Derived >::z ( ) [inline]
Returns:
a reference to the z coefficient

Definition at line 100 of file LieGroup_SO3.h.


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