geometry/concepts.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 
25 #pragma once
26 
27 #include <gtsam/base/Matrix.h>
28 
29 namespace gtsam {
30 
37 template<class POSE>
38 class PoseConcept {
39 public:
40  typedef typename POSE::Translation Translation;
41  typedef typename POSE::Rotation Rotation;
42 
43 private:
44  static Rotation checkRotationMemberAccess(const POSE& p) {
45  return p.rotation();
46  }
47 
49  return p.translation();
50  }
51 
52  static std::pair<size_t, size_t> checkTranslationInterval() {
53  return POSE::translationInterval();
54  }
55 
56  static std::pair<size_t, size_t> checkRotationInterval() {
57  return POSE::rotationInterval();
58  }
59 };
60 
61 } // \namespace gtsam
62 
73 #define GTSAM_CONCEPT_POSE_INST(T) template class gtsam::PoseConcept<T>;
74 #define GTSAM_CONCEPT_POSE_TYPE(T) using _gtsam_PoseConcept##T = gtsam::PoseConcept<T>;
75 
gtsam::PoseConcept::Rotation
POSE::Rotation Rotation
Definition: geometry/concepts.h:41
Matrix.h
typedef and functions to augment Eigen's MatrixXd
gtsam::PoseConcept
Definition: geometry/concepts.h:38
gtsam::PoseConcept::checkRotationInterval
static std::pair< size_t, size_t > checkRotationInterval()
Definition: geometry/concepts.h:56
gtsam::PoseConcept::checkRotationMemberAccess
static Rotation checkRotationMemberAccess(const POSE &p)
Definition: geometry/concepts.h:44
gtsam::PoseConcept::checkTranslationInterval
static std::pair< size_t, size_t > checkTranslationInterval()
Definition: geometry/concepts.h:52
gtsam::PoseConcept::checkTranslationMemberAccess
static Translation checkTranslationMemberAccess(const POSE &p)
Definition: geometry/concepts.h:48
gtsam
traits
Definition: SFMdata.h:40
p
float * p
Definition: Tutorial_Map_using.cpp:9
gtsam::PoseConcept::Translation
POSE::Translation Translation
Definition: geometry/concepts.h:40


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:11:17