gtsam
Loading...
Searching...
No Matches
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, AdjointMap, compose, between, and inverse

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

Group

using group_flavor = multiplicative_group_tag
static Class Identity ()

Manifold

using Jacobian = Eigen::Matrix<double, dimension, dimension>
typedef OptionalJacobian< dimension, dimension > ChartJacobian
typedef Class ManifoldType
typedef Eigen::Matrix< double, dimension, 1 > TangentVector
static constexpr auto dimension = Manifold::dimension

Static Public Member Functions

Lie Group
static TangentVector Logmap (const Class &m)
template<class C = Class, class = LogmapWithJacobian<C, ChartJacobian>>
static TangentVector Logmap (const Class &m, ChartJacobian Hm)
static Class Expmap (const TangentVector &v)
template<class C = Class, class = ExpmapWithJacobian<C, TangentVector, ChartJacobian>>
static Class Expmap (const TangentVector &v, ChartJacobian Hv)
static Class Compose (const Class &m1, const Class &m2, ChartJacobian H1={}, ChartJacobian H2={})
static Class Between (const Class &m1, const Class &m2, ChartJacobian H1={}, ChartJacobian H2={})
static Class Inverse (const Class &m, ChartJacobian H={})
static Eigen::Matrix< double, dimension, dimension > AdjointMap (const Class &m)
Static Public Member Functions inherited from gtsam::internal::ManifoldTraits< Class >
static TangentVector Local (const Class &origin, const Class &other)
template<class C = Class, class = LocalCoordinatesWithJacobians<C, ChartJacobian>>
static TangentVector Local (const Class &origin, const Class &other, ChartJacobian H1, ChartJacobian H2={})
static Class Retract (const Class &origin, const TangentVector &v)
template<class C = Class, class = RetractWithJacobians<C, TangentVector, ChartJacobian>>
static Class Retract (const Class &origin, const TangentVector &v, ChartJacobian H1, ChartJacobian H2={})
Static Public Member Functions inherited from gtsam::internal::GetDimensionImpl< Class, Class::dimension >
static size_t GetDimension (const Class &m)

Public Types

using Manifold = ManifoldTraits<Class>
using structure_category = lie_group_tag
Public Types inherited from gtsam::internal::ManifoldTraits< Class >
typedef Class ManifoldType
typedef manifold_tag structure_category
typedef Eigen::Matrix< double, dimension, 1 > TangentVector
typedef OptionalJacobian< dimension, dimension > ChartJacobian

Additional Inherited Members

Public Member Functions inherited from gtsam::internal::ManifoldTraits< Class >
 GTSAM_CONCEPT_ASSERT (HasManifoldPrereqs< Class >)
Static Public Attributes inherited from gtsam::internal::ManifoldTraits< Class >
static constexpr auto dimension = Class::dimension

The documentation for this struct was generated from the following file:
  • /tmp/gtsam-4.3.0-doxygen.rsXPUS/source/gtsam/base/Lie.h