gtsam
Loading...
Searching...
No Matches
Manifold.h File Reference

Base class and basic functions for Manifold types. More...

Go to the source code of this file.

Classes

struct  gtsam::manifold_tag
 tag to assert a type is a manifold More...
struct  gtsam::internal::HasManifoldPrereqs< Class >
 Requirements on type to pass it to Manifold template below. More...
struct  gtsam::internal::GetDimensionImpl< Class, N >
 Traits to get dimension, supporting both fixed and dynamic. More...
struct  gtsam::internal::ManifoldTraits< Class >
 A helper that implements the traits interface for GTSAM manifolds. More...
struct  gtsam::internal::HasLocalJacobians< T, class >
 Detect whether a traits type provides Local with Jacobians. More...
struct  gtsam::internal::HasLocalJacobians< T, std::void_t< decltype(traits< T >::Local(std::declval< const T & >(), std::declval< const T & >(), std::declval< typename traits< T >::ChartJacobian >(), std::declval< typename traits< T >::ChartJacobian >()))> >
struct  gtsam::internal::Manifold< Class >
 Both ManifoldTraits and Testable. More...
class  gtsam::IsManifold< T >
 Manifold concept. More...
struct  gtsam::FixedDimension< T >
 Give fixed size dimension of a type, fails at compile time if dynamic. More...

Namespaces

namespace  gtsam
 Global functions in a separate testing namespace.

Macros

#define GTSAM_CONCEPT_MANIFOLD_INST(T)
 Macros for using the ManifoldConcept.
#define GTSAM_CONCEPT_MANIFOLD_TYPE(T)

Typedefs

template<class C, class ChartJacobian>
using gtsam::internal::LocalCoordinatesWithJacobians
 Probe for a class member localCoordinates implementation with Jacobians.
template<class C, class TangentVector, class ChartJacobian>
using gtsam::internal::RetractWithJacobians
 Probe for a class member retract implementation with Jacobians.

Functions

template<typename T>
 gtsam::check_manifold_invariants (const T &a, const T &b, double tol=1e-9)
 Check invariants for Manifold type.

Detailed Description

Base class and basic functions for Manifold types.

Author
Alex Cunningham
Frank Dellaert
Mike Bosse

Macro Definition Documentation

◆ GTSAM_CONCEPT_MANIFOLD_INST

#define GTSAM_CONCEPT_MANIFOLD_INST ( T)
Value:
template class gtsam::IsManifold<T>;
Manifold concept.
Definition Manifold.h:172

Macros for using the ManifoldConcept.

  • An instantiation for use inside unit tests
  • A typedef for use inside generic algorithms

NOTE: intentionally not in the gtsam namespace to allow for classes not in the gtsam namespace to be more easily enforced as testable

◆ GTSAM_CONCEPT_MANIFOLD_TYPE

#define GTSAM_CONCEPT_MANIFOLD_TYPE ( T)
Value:
using _gtsam_IsManifold_##T = gtsam::IsManifold<T>;

Typedef Documentation

◆ LocalCoordinatesWithJacobians

template<class C, class ChartJacobian>
using gtsam::internal::LocalCoordinatesWithJacobians
Initial value:
decltype(
std::declval<const C&>().localCoordinates(
std::declval<const C&>(), std::declval<ChartJacobian>(),
std::declval<ChartJacobian>()))

Probe for a class member localCoordinates implementation with Jacobians.

◆ RetractWithJacobians

template<class C, class TangentVector, class ChartJacobian>
using gtsam::internal::RetractWithJacobians
Initial value:
decltype(std::declval<const C&>().retract(
std::declval<const TangentVector&>(), std::declval<ChartJacobian>(),
std::declval<ChartJacobian>()))

Probe for a class member retract implementation with Jacobians.