From 3f8209de21d465b8cd072b9808f47fbbaf6f9fff Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Tue, 17 Mar 2020 15:20:22 -0400 Subject: [PATCH] set dimension of calibration classes with static const variable --- gtsam/geometry/Cal3DS2.h | 10 +++++++--- gtsam/geometry/Cal3Unified.h | 7 ++++--- gtsam/geometry/Cal3_S2.h | 7 ++++--- gtsam/geometry/Cal3_S2Stereo.h | 7 ++++--- gtsam/geometry/CalibratedCamera.h | 10 +++++++--- 5 files changed, 26 insertions(+), 15 deletions(-) diff --git a/gtsam/geometry/Cal3DS2.h b/gtsam/geometry/Cal3DS2.h index 4009a1921..d4461f23f 100644 --- a/gtsam/geometry/Cal3DS2.h +++ b/gtsam/geometry/Cal3DS2.h @@ -33,9 +33,13 @@ class GTSAM_EXPORT Cal3DS2 : public Cal3DS2_Base { typedef Cal3DS2_Base Base; +private: + + static const size_t dimension_ = 9; + public: - enum { dimension = 9 }; + enum { dimension = dimension_ }; /// @name Standard Constructors /// @{ @@ -76,10 +80,10 @@ public: Vector localCoordinates(const Cal3DS2& T2) const ; /// Return dimensions of calibration manifold object - virtual size_t dim() const { return 9 ; } //TODO: make a final dimension variable (also, usually size_t in other classes e.g. Pose2) + virtual size_t dim() const { return dimension_ ; } /// Return dimensions of calibration manifold object - static size_t Dim() { return 9; } //TODO: make a final dimension variable + static size_t Dim() { return dimension_; } /// @} /// @name Clone diff --git a/gtsam/geometry/Cal3Unified.h b/gtsam/geometry/Cal3Unified.h index 9982cec47..4feba996a 100644 --- a/gtsam/geometry/Cal3Unified.h +++ b/gtsam/geometry/Cal3Unified.h @@ -47,10 +47,11 @@ class GTSAM_EXPORT Cal3Unified : public Cal3DS2_Base { private: double xi_; // mirror parameter + static const size_t dimension_ = 10; public: - enum { dimension = 10 }; + enum { dimension = dimension_ }; /// @name Standard Constructors /// @{ @@ -118,10 +119,10 @@ public: Vector10 localCoordinates(const Cal3Unified& T2) const ; /// Return dimensions of calibration manifold object - virtual size_t dim() const { return 10 ; } //TODO: make a final dimension variable (also, usually size_t in other classes e.g. Pose2) + virtual size_t dim() const { return dimension_ ; } /// Return dimensions of calibration manifold object - static size_t Dim() { return 10; } //TODO: make a final dimension variable + static size_t Dim() { return dimension_; } /// Return all parameters as a vector Vector10 vector() const ; diff --git a/gtsam/geometry/Cal3_S2.h b/gtsam/geometry/Cal3_S2.h index 747f53fe1..fdf3b7d28 100644 --- a/gtsam/geometry/Cal3_S2.h +++ b/gtsam/geometry/Cal3_S2.h @@ -33,9 +33,10 @@ namespace gtsam { class GTSAM_EXPORT Cal3_S2 { private: double fx_, fy_, s_, u0_, v0_; + static const size_t dimension_ = 5; public: - enum { dimension = 5 }; + enum { dimension = dimension_ }; typedef boost::shared_ptr shared_ptr; ///< shared pointer to calibration object /// @name Standard Constructors @@ -194,12 +195,12 @@ public: /// return DOF, dimensionality of tangent space inline size_t dim() const { - return 5; + return dimension_; } /// return DOF, dimensionality of tangent space static size_t Dim() { - return 5; + return dimension_; } /// Given 5-dim tangent vector, create new calibration diff --git a/gtsam/geometry/Cal3_S2Stereo.h b/gtsam/geometry/Cal3_S2Stereo.h index 51692dc82..fc85d9d36 100644 --- a/gtsam/geometry/Cal3_S2Stereo.h +++ b/gtsam/geometry/Cal3_S2Stereo.h @@ -32,10 +32,11 @@ namespace gtsam { Cal3_S2 K_; double b_; + static const size_t dimension_ = 6; public: - enum { dimension = 6 }; + enum { dimension = dimension_ }; typedef boost::shared_ptr shared_ptr; ///< shared pointer to stereo calibration object /// @name Standard Constructors @@ -112,12 +113,12 @@ namespace gtsam { /// return DOF, dimensionality of tangent space inline size_t dim() const { - return 6; + return dimension_; } /// return DOF, dimensionality of tangent space static size_t Dim() { - return 6; + return dimension_; } /// Given 6-dim tangent vector, create new calibration diff --git a/gtsam/geometry/CalibratedCamera.h b/gtsam/geometry/CalibratedCamera.h index 9d9b37d7a..2ee5266a7 100644 --- a/gtsam/geometry/CalibratedCamera.h +++ b/gtsam/geometry/CalibratedCamera.h @@ -248,10 +248,14 @@ private: */ class GTSAM_EXPORT CalibratedCamera: public PinholeBase { +private: + + static const size_t dimension_ = 6; + public: enum { - dimension = 6 + dimension = dimension_ }; /// @name Standard Constructors @@ -326,12 +330,12 @@ public: /// @deprecated inline size_t dim() const { - return 6; + return dimension_; } /// @deprecated inline static size_t Dim() { - return 6; + return dimension_; } /// @}