gtsam  4.0.0
gtsam
gtsam::internal::LieGroupTraits< Class > Struct Template Reference

Detailed Description

template<class Class>
struct gtsam::internal::LieGroupTraits< Class >

A helper class that implements the traits interface for GTSAM lie groups.

To use this for your gtsam type, define: template<> struct traits<Class> : public internal::LieGroupTraits<Class> {}; Assumes existence of: identity, dimension, localCoordinates, retract, and additionally Logmap, Expmap, compose, between, and inverse

+ Inheritance diagram for gtsam::internal::LieGroupTraits< Class >:

Group

typedef multiplicative_group_tag group_flavor
 
static Class Identity ()
 

Manifold

enum  { dimension = Class::dimension }
 
typedef Class ManifoldType
 
typedef Eigen::Matrix< double, dimension, 1 > TangentVector
 
typedef OptionalJacobian< dimension, dimension > ChartJacobian
 
static int GetDimension (const Class &)
 
static TangentVector Local (const Class &origin, const Class &other, ChartJacobian Horigin=boost::none, ChartJacobian Hother=boost::none)
 
static Class Retract (const Class &origin, const TangentVector &v, ChartJacobian Horigin=boost::none, ChartJacobian Hv=boost::none)
 
 BOOST_STATIC_ASSERT_MSG (dimension !=Eigen::Dynamic, "LieGroupTraits not yet specialized for dynamically sized types.")
 

Static Public Member Functions

Lie Group
static TangentVector Logmap (const Class &m, ChartJacobian Hm=boost::none)
 
static Class Expmap (const TangentVector &v, ChartJacobian Hv=boost::none)
 
static Class Compose (const Class &m1, const Class &m2, ChartJacobian H1=boost::none, ChartJacobian H2=boost::none)
 
static Class Between (const Class &m1, const Class &m2, ChartJacobian H1=boost::none, ChartJacobian H2=boost::none)
 
static Class Inverse (const Class &m, ChartJacobian H=boost::none)
 

Public Types

typedef lie_group_tag structure_category
 

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