gtsam
4.0.0
gtsam
|
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
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 |