GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Types | Public Member Functions | List of all members
gtsam::internal::VectorSpaceTraits< Class > Struct Template Reference

#include <VectorSpace.h>

Inheritance diagram for gtsam::internal::VectorSpaceTraits< Class >:
Inheritance graph
[legend]
Collaboration diagram for gtsam::internal::VectorSpaceTraits< Class >:
Collaboration graph
[legend]

Public Types

typedef vector_space_tag structure_category
 
Manifold
enum  { dimension = Class::dimension }
 
typedef Class ManifoldType
 

Public Member Functions

 GTSAM_CONCEPT_ASSERT (HasVectorSpacePrereqs< Class >)
 

Static Public Member Functions

Lie Group
static TangentVector Logmap (const Class &m, ChartJacobian Hm={})
 
static Class Expmap (const TangentVector &v, ChartJacobian Hv={})
 
static Class Compose (const Class &v1, const Class &v2, ChartJacobian H1={}, ChartJacobian H2={})
 
static Class Between (const Class &v1, const Class &v2, ChartJacobian H1={}, ChartJacobian H2={})
 
static Class Inverse (const Class &v, ChartJacobian H={})
 

Manifold

typedef Eigen::Matrix< double, N, 1 > TangentVector
 
typedef OptionalJacobian< N, N > ChartJacobian
 
typedef Eigen::Matrix< double, N, N > Jacobian
 
static int GetDimension (const Class &)
 
static TangentVector Local (const Class &origin, const Class &other, ChartJacobian H1={}, ChartJacobian H2={})
 
static Class Retract (const Class &origin, const TangentVector &v, ChartJacobian H1={}, ChartJacobian H2={})
 

Group

typedef additive_group_tag group_flavor
 
static Class Identity ()
 

Detailed Description

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

A helper that implements the traits interface for classes that define vector spaces To use this for your class, define: template<> struct traits<Class> : public VectorSpaceTraits<Class> {}; The class needs to support the requirements defined by HasVectorSpacePrereqs above


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