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 
48  static Translation checkTranslationMemberAccess(const POSE& p) {
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 
static std::pair< size_t, size_t > checkRotationInterval()
static Rotation checkRotationMemberAccess(const POSE &p)
POSE::Translation Translation
static Translation checkTranslationMemberAccess(const POSE &p)
traits
Definition: chartTesting.h:28
POSE::Rotation Rotation
float * p
static std::pair< size_t, size_t > checkTranslationInterval()


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:34:03