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 () |
Coefficients & | get () |
const Coefficients & | get () const |
Map< Vector3 > | getR3Element () |
Map< const Vector3 > | getR3Element () const |
Map< SO3Element > | getSO3Element () |
Map< const SO3Element > | getSO3Element () 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 LieGroupBase & | operator= (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) |
Base class for SE(3) Lie Group.
LieGroupBase<Array<Scalar, 7, 1>, Derived>
Derived | the 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::AdjointMatrix LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::adjoint | ( | void | ) | const |
Definition at line 318 of file LieGroup_SE3.h.
|
inline |
Definition at line 344 of file LieGroup_SE3.h.
|
inline |
Definition at line 361 of file LieGroup_SE3.h.
|
inline |
The read-only accessor to the derived class
Definition at line 93 of file LieGroup_SE3.h.
|
inline |
The accessor to the derived class
Definition at line 95 of file LieGroup_SE3.h.
|
inline |
Definition at line 108 of file LieGroup_SE3.h.
|
inline |
Definition at line 110 of file LieGroup_SE3.h.
|
inline |
The accessor to the R^3 element
Definition at line 103 of file LieGroup_SE3.h.
|
inline |
The read-only accessor to the R^3 element
Definition at line 105 of file LieGroup_SE3.h.
|
inline |
The accessor to the SO(3) element
Definition at line 98 of file LieGroup_SE3.h.
|
inline |
The read-only accessor to the SO(3) element
Definition at line 100 of file LieGroup_SE3.h.
|
static |
Definition at line 163 of file LieGroup_SE3.h.
LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::PlainObject LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::inverse | ( | ) | const |
Definition at line 154 of file LieGroup_SE3.h.
|
inline |
Definition at line 207 of file LieGroup_SE3.h.
|
inline |
|
inline |
v
through the rigid displacement described by this element 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.
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.
EIGEN_STRONG_INLINE Derived & LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator*= | ( | const LieGroupBase< BaseType, OtherDerived > & | other | ) |
Definition at line 185 of file LieGroup_SE3.h.
|
inline |
Default assignement operator
Definition at line 124 of file LieGroup_SE3.h.
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
Derived& LieGroupBase< Array< typename internal::traits< Derived >::Scalar, 7, 1 >, Derived >::operator= | ( | const MatrixBase< OtherDerived > & | m | ) |
Assignement operator from a Matrix
|
inline |
Definition at line 133 of file LieGroup_SE3.h.
|
inline |
Definition at line 142 of file LieGroup_SE3.h.
|
friend |
Outputs to the given stream : order : x y z qw qx qy qz (it's different from the storage order)