From 6b04fee0487e8931ee229826686c42b7b1947737 Mon Sep 17 00:00:00 2001 From: Paul Furgale Date: Sat, 13 Dec 2014 22:26:49 +0100 Subject: [PATCH] Changed some lie groups to manifolds --- gtsam/geometry/CalibratedCamera.h | 2 +- gtsam/geometry/EssentialMatrix.h | 2 +- gtsam/geometry/PinholeCamera.h | 26 ++++---------------------- gtsam/geometry/StereoCamera.h | 2 +- gtsam/geometry/StereoPoint2.h | 2 +- 5 files changed, 8 insertions(+), 26 deletions(-) diff --git a/gtsam/geometry/CalibratedCamera.h b/gtsam/geometry/CalibratedCamera.h index bac0ac0e8..6fbb31197 100644 --- a/gtsam/geometry/CalibratedCamera.h +++ b/gtsam/geometry/CalibratedCamera.h @@ -202,7 +202,7 @@ private: }; template<> -struct traits_x : public internal::LieGroup {}; +struct traits_x : public internal::Manifold {}; } diff --git a/gtsam/geometry/EssentialMatrix.h b/gtsam/geometry/EssentialMatrix.h index 107ddb3fb..c7cb0b958 100644 --- a/gtsam/geometry/EssentialMatrix.h +++ b/gtsam/geometry/EssentialMatrix.h @@ -199,7 +199,7 @@ private: }; template<> -struct traits_x : public internal::LieGroup {}; +struct traits_x : public internal::Manifold {}; } // gtsam diff --git a/gtsam/geometry/PinholeCamera.h b/gtsam/geometry/PinholeCamera.h index 9b881dc78..38e3b538d 100644 --- a/gtsam/geometry/PinholeCamera.h +++ b/gtsam/geometry/PinholeCamera.h @@ -36,10 +36,11 @@ private: Calibration K_; // Get dimensions of calibration type and This at compile time - static const int DimK = traits::dimension::value, // + static const int DimK = traits_x::dimension, // DimC = 6 + DimK; public: + enum { dimension = DimC }; /// @name Standard Constructors /// @{ @@ -485,26 +486,7 @@ private: }; -// Define GTSAM traits -namespace traits { - -template -struct GTSAM_EXPORT is_manifold > : public boost::true_type { -}; - -template -struct GTSAM_EXPORT dimension > : public boost::integral_constant< - int, dimension::value + dimension::value> { -}; - -template -struct GTSAM_EXPORT zero > { - static PinholeCamera value() { - return PinholeCamera(zero::value(), - zero::value()); - } -}; - -} +template<> +struct traits_x : public internal::Manifold {}; } // \ gtsam diff --git a/gtsam/geometry/StereoCamera.h b/gtsam/geometry/StereoCamera.h index 1d03352da..4d68f03e8 100644 --- a/gtsam/geometry/StereoCamera.h +++ b/gtsam/geometry/StereoCamera.h @@ -153,6 +153,6 @@ private: }; template<> -struct traits_x : public internal::LieGroup {}; +struct traits_x : public internal::Manifold {}; } diff --git a/gtsam/geometry/StereoPoint2.h b/gtsam/geometry/StereoPoint2.h index fcd37c5d8..e515356f1 100644 --- a/gtsam/geometry/StereoPoint2.h +++ b/gtsam/geometry/StereoPoint2.h @@ -175,5 +175,5 @@ namespace gtsam { }; template<> - struct traits_x : public internal::LieGroup {}; + struct traits_x : public internal::Manifold {}; }