gtsam  3.2.1
gtsam
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Manifold.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2 
3  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4  * Atlanta, Georgia 30332-0415
5  * All Rights Reserved
6  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7 
8  * See LICENSE for the license information
9 
10  * -------------------------------------------------------------------------- */
11 
18 #pragma once
19 
20 #include <string>
21 #include <gtsam/base/Matrix.h>
22 
23 namespace gtsam {
24 
64 template <class T>
66 private:
68  static T concept_check(const T& t) {
69 
71  T t2 = t;
72 
76  size_t dim_ret = t.dim();
77 
81  T retract_ret = t.retract(gtsam::zero(dim_ret));
82 
86  Vector localCoords_ret = t.localCoordinates(t2);
87 
88  return retract_ret;
89  }
90 };
91 
92 } // namespace gtsam
93 
102 #define GTSAM_CONCEPT_MANIFOLD_INST(T) template class gtsam::ManifoldConcept<T>;
103 #define GTSAM_CONCEPT_MANIFOLD_TYPE(T) typedef gtsam::ManifoldConcept<T> _gtsam_ManifoldConcept_##T;
Concept check class for Manifold types Requires a mapping between a linear tangent space and the unde...
Definition: Manifold.h:65
bool zero(const Vector &v)
check if all zero
Definition: Vector.cpp:39
typedef and functions to augment Eigen's MatrixXd