From 984232defb6971fb1e6ad365c59ef6670f59de0c Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Wed, 23 Oct 2024 23:21:02 -0700 Subject: [PATCH] Kill templates --- gtsam/geometry/FundamentalMatrix.h | 21 ++++++------------- .../geometry/tests/testFundamentalMatrix.cpp | 6 +++--- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/gtsam/geometry/FundamentalMatrix.h b/gtsam/geometry/FundamentalMatrix.h index 32acb3be0..8e952c214 100644 --- a/gtsam/geometry/FundamentalMatrix.h +++ b/gtsam/geometry/FundamentalMatrix.h @@ -63,29 +63,20 @@ template struct TripleF { F F01, F12, F20; - /// Transfers a point from two cameras to another. - template - Point2 transfer(const Point2& point1, const Point2& point2) { - static_assert(Index < 3, "Index must be less than 3"); - } - - /// Specialization for transferring a point from cameras 1,2 to camera 0. - template <> - Point2 transfer<0>(const Point2& p1, const Point2& p2) { + /// Transfers a point from cameras 1,2 to camera 0. + Point2 transfer0(const Point2& p1, const Point2& p2) { return FundamentalMatrix::transfer(F01.matrix(), p1, F20.matrix().transpose(), p2); } - /// Specialization for transferring a point from camera 0,2 to camera 1. - template <> - Point2 transfer<1>(const Point2& p0, const Point2& p2) { + /// Transfers a point from camera 0,2 to camera 1. + Point2 transfer1(const Point2& p0, const Point2& p2) { return FundamentalMatrix::transfer(F01.matrix().transpose(), p0, F12.matrix(), p2); } - /// Specialization for transferring a point from camera 0,1 to camera 2. - template <> - Point2 transfer<2>(const Point2& p0, const Point2& p1) { + /// Transfers a point from camera 0,1 to camera 2. + Point2 transfer2(const Point2& p0, const Point2& p1) { return FundamentalMatrix::transfer(F01.matrix(), p0, F12.matrix().transpose(), p1); } diff --git a/gtsam/geometry/tests/testFundamentalMatrix.cpp b/gtsam/geometry/tests/testFundamentalMatrix.cpp index f5a578911..760b3b99c 100644 --- a/gtsam/geometry/tests/testFundamentalMatrix.cpp +++ b/gtsam/geometry/tests/testFundamentalMatrix.cpp @@ -222,9 +222,9 @@ TEST(TripleF, Transfer) { } // Check that transfer works - EXPECT(assert_equal(p[0], triplet.transfer<0>(p[1], p[2]), 1e-9)); - EXPECT(assert_equal(p[1], triplet.transfer<1>(p[0], p[2]), 1e-9)); - EXPECT(assert_equal(p[2], triplet.transfer<2>(p[0], p[1]), 1e-9)); + EXPECT(assert_equal(p[0], triplet.transfer0(p[1], p[2]), 1e-9)); + EXPECT(assert_equal(p[1], triplet.transfer1(p[0], p[2]), 1e-9)); + EXPECT(assert_equal(p[2], triplet.transfer2(p[0], p[1]), 1e-9)); } //*************************************************************************