gtsam
Loading...
Searching...
No Matches
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
24
25#pragma once
26
27#include <gtsam/base/Matrix.h>
28
29namespace gtsam {
30
37template<class POSE>
39public:
40 typedef typename POSE::Translation Translation;
41 typedef typename POSE::Rotation Rotation;
42
43private:
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
71
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
typedef and functions to augment Eigen's MatrixXd
Global functions in a separate testing namespace.
Definition chartTesting.h:28
Pose Concept A must contain a translation and a rotation, with each structure accessable directly and...
Definition concepts.h:38