50 template <
typename T>
struct traits;
65 v = p.localCoordinates(q);
71 template<
class Class,
int N>
107 return origin.localCoordinates(other);
112 return origin.retract(v);
124 check_manifold_invariants(
const T&
a,
const T&
b,
double tol=1
e-9) {
145 "This type's structure_category trait does not assert it as a manifold (or derived)");
146 static_assert(TangentVector::SizeAtCompileTime == dim);
165 "FixedDimension instantiated for dymanically-sized type.");
177 #define GTSAM_CONCEPT_MANIFOLD_INST(T) template class gtsam::IsManifold<T>; 178 #define GTSAM_CONCEPT_MANIFOLD_TYPE(T) using _gtsam_IsManifold_##T = gtsam::IsManifold<T>;
tag to assert a type is a manifold
Both ManifoldTraits and Testable.
Eigen::Matrix< double, dimension, 1 > TangentVector
Requirements on type to pass it to Manifold template below.
#define GTSAM_CONCEPT_ASSERT(concept)
Concept check for values that can be used in unit tests.
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy y set format x g set format y g set format x2 g set format y2 g set format z g set angles radians set nogrid set key title set key left top Right noreverse box linetype linewidth samplen spacing width set nolabel set noarrow set nologscale set logscale x set set pointsize set encoding default set nopolar set noparametric set set set set surface set nocontour set clabel set mapping cartesian set nohidden3d set cntrparam order set cntrparam linear set cntrparam levels auto set cntrparam points set size set origin
Eigen::Matrix< double, dim, 1 > v
Give fixed size dimension of a type, fails at compile time if dynamic.
Namespace containing all symbols from the Eigen library.
#define BOOST_CONCEPT_USAGE(concept)
Extra manifold traits for fixed-dimension types.
static int GetDimension(const Class &m)
BOOST_CONCEPT_USAGE(HasManifoldPrereqs)
Array< int, Dynamic, 1 > v
Array< double, 1, 3 > e(1./3., 0.5, 2.)
EIGEN_DEVICE_FUNC const Scalar & q
manifold_tag structure_category
static int GetDimension(const Class &)
OptionalJacobian< dim, dim > Hv
static Class Retract(const Class &origin, const TangentVector &v)
GTSAM_CONCEPT_REQUIRES(IsGroup< G >, bool) check_group_invariants(const G &a
Check invariants.
static TangentVector Local(const Class &origin, const Class &other)
Special class for optional Jacobian arguments.