Loading...
Searching...
No Matches
concepts.h
Go to the documentation of this file.
/* ----------------------------------------------------------------------------
* GTSAM Copyright 2010, Georgia Tech Research Corporation,
* Atlanta, Georgia 30332-0415
* All Rights Reserved
* Authors: Frank Dellaert, et al. (see THANKS for the full author list)
* See LICENSE for the license information
* -------------------------------------------------------------------------- */
#pragma once
#include <gtsam/base/Matrix.h>
#include <boost/optional.hpp>
namespace gtsam {
template<class POSE>
class PoseConcept {
public:
typedef typename POSE::Translation Translation;
typedef typename POSE::Rotation Rotation;
private:
static Rotation checkRotationMemberAccess(const POSE& p) {
return p.rotation();
}
static Translation checkTranslationMemberAccess(const POSE& p) {
return p.translation();
}
static std::pair<size_t, size_t> checkTranslationInterval() {
return POSE::translationInterval();
}
static std::pair<size_t, size_t> checkRotationInterval() {
return POSE::rotationInterval();
}
};
} // \namespace gtsam
#define GTSAM_CONCEPT_POSE_INST(T) template class gtsam::PoseConcept<T>;
#define GTSAM_CONCEPT_POSE_TYPE(T) using _gtsam_PoseConcept##T = gtsam::PoseConcept<T>;
Matrix.h
typedef and functions to augment Eigen's MatrixXd
gtsam
Global functions in a separate testing namespace.
Definition chartTesting.h:28
gtsam::PoseConcept
Pose Concept A must contain a translation and a rotation, with each structure accessable directly and...
Definition concepts.h:39