10 #ifndef EIGEN_LGSM_LIE_GROUP_H    11 #define EIGEN_LGSM_LIE_GROUP_H    32   template<
class G, 
class Derived>
    45   typedef typename internal::traits<Derived>::Scalar 
Scalar;
    49   typedef typename internal::traits<Derived>::PlainObject 
PlainObject;
    53   typedef typename Derived::Algebra 
Algebra;
    58   PlainObject inverse() 
const;
    60   static PlainObject Identity();
    65   AdjointMatrix adjoint(
void) 
const;
    67   Algebra adjoint(
const Algebra& ) 
const;
    69   CoAlgebra adjointTr(
const CoAlgebra& ) 
const;
    74   Algebra log(
const Scalar precision = 1e-6) 
const;
    80   inline const Derived& 
derived()
 const { 
return *
static_cast<const Derived*
>(
this); }
    82   inline Derived& 
derived() { 
return *
static_cast<Derived*
>(
this); }
    85   inline Coefficients& 
get();
    87   inline const Coefficients& 
get() 
const;
    96     struct traits<
LieGroup<G> > : 
public traits<LieGroupBase<G, LieGroup<G> > >
   123   EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(
LieGroup)
   149   template<
class G, 
int MapOptions, 
typename Str
ideType>
   150     struct traits<Map<
LieGroup<G>, MapOptions, StrideType> > : 
public traits<LieGroupBase<G, Map<LieGroup<G>, MapOptions, StrideType> > >
   156   template<
class G, 
int MapOptions, 
typename Str
ideType>
   157     struct traits<Map<const 
LieGroup<G>, MapOptions, StrideType> > : 
public traits<LieGroupBase<G, Map<const LieGroup<G>, MapOptions, StrideType> > >
   178 template<
class G, 
int MapOptions, 
typename Str
ideType> 
class Map<
LieGroup<G>, MapOptions, StrideType> : 
public LieGroupBase<G, Map<LieGroup<G>, MapOptions, StrideType> > {
   184     EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Map)
   191     inline Map(const G& g) : m_coeffs(g) {};
   193     template<
int _Rows, 
int _Cols, 
int _Options, 
int _MaxRows, 
int _MaxCols> 
   194       inline Map(Array<Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& g) : m_coeffs(g.data()) {};
   198     inline Map(
const Map& m) : m_coeffs(m.get()) {};
   210 template<
class G, 
int MapOptions, 
typename Str
ideType> 
class Map<const 
LieGroup<G>, MapOptions, StrideType> : 
public LieGroupBase<G, Map<const LieGroup<G>, MapOptions, StrideType> > {
   216     EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Map)
   223     inline Map(const G& g) : m_coeffs(g) {};
   225     template<
int _Rows, 
int _Cols, 
int _Options, 
int _MaxRows, 
int _MaxCols> 
   226       inline Map(Array<Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& g) : m_coeffs(g.data()) {};
   230     inline Map(
const Map& m) : m_coeffs(m.get()) {};
 Derived::CoAlgebra CoAlgebra
Derived::AdjointMatrix AdjointMatrix
internal::traits< LieGroup< G > >::Coefficients Coefficients
internal::traits< Map< LieGroup< G >, MapOptions, StrideType > >::Coefficients Coefficients
LieGroupBase< G, LieGroup< G > > Base
Map(Array< Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &g)
const Derived & derived() const 
LieGroupBase< G, Map< LieGroup< G >, MapOptions, StrideType > > Base
Base class for all Lie Group class. 
Map< G, MapOptions, StrideType > Coefficients
LieGroup< G > PlainObject
internal::traits< Derived >::PlainObject PlainObject
Map(Array< Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &g)
LieGroupBase< G, Map< const LieGroup< G >, MapOptions, StrideType > > Base
internal::traits< Map< const LieGroup< G >, MapOptions, StrideType > >::Scalar Scalar
Base class for all Lie Algebra class. 
internal::traits< Map< LieGroup< G >, MapOptions, StrideType > >::Scalar Scalar
Map< const G, MapOptions, StrideType > Coefficients
Class describing an element of a Lie Group. 
internal::traits< Map< const LieGroup< G >, MapOptions, StrideType > >::Coefficients Coefficients
internal::traits< Derived >::Scalar Scalar
Derived::Coefficients Coefficients