From 01dc2c61fa391318056e5cabaf634e71efc167b5 Mon Sep 17 00:00:00 2001 From: dellaert Date: Mon, 23 Feb 2015 22:32:18 +0100 Subject: [PATCH] MAde it more generic --- gtsam/geometry/triangulation.h | 21 +++++++++++---------- gtsam/slam/TriangulationFactor.h | 5 ++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/gtsam/geometry/triangulation.h b/gtsam/geometry/triangulation.h index 0a0508efc..ea6c5c041 100644 --- a/gtsam/geometry/triangulation.h +++ b/gtsam/geometry/triangulation.h @@ -18,6 +18,7 @@ #pragma once +#include #include #include #include @@ -74,8 +75,8 @@ std::pair triangulationGraph( static SharedNoiseModel prior_model(noiseModel::Isotropic::Sigma(6, 1e-6)); for (size_t i = 0; i < measurements.size(); i++) { const Pose3& pose_i = poses[i]; - PinholePose camera_i(pose_i, sharedCal); - graph.push_back(TriangulationFactor > // + PinholeBaseK camera_i(pose_i, sharedCal); + graph.push_back(TriangulationFactor > // (camera_i, measurements[i], unit2, landmarkKey)); } return std::make_pair(graph, values); @@ -107,13 +108,13 @@ std::pair triangulationGraph( return std::make_pair(graph, values); } -/// PinholeCamera specific version +/// PinholeBaseK specific version template std::pair triangulationGraph( - const std::vector >& cameras, + const std::vector >& cameras, const std::vector& measurements, Key landmarkKey, const Point3& initialEstimate) { - return triangulationGraph > // + return triangulationGraph > // (cameras, measurements, landmarkKey, initialEstimate); } @@ -169,12 +170,12 @@ Point3 triangulateNonlinear(const std::vector& cameras, return optimize(graph, values, Symbol('p', 0)); } -/// PinholeCamera specific version +/// PinholeBaseK specific version template Point3 triangulateNonlinear( - const std::vector >& cameras, + const std::vector >& cameras, const std::vector& measurements, const Point3& initialEstimate) { - return triangulateNonlinear > // + return triangulateNonlinear > // (cameras, measurements, initialEstimate); } @@ -277,10 +278,10 @@ Point3 triangulatePoint3(const std::vector& cameras, /// Pinhole-specific version template Point3 triangulatePoint3( - const std::vector >& cameras, + const std::vector >& cameras, const std::vector& measurements, double rank_tol = 1e-9, bool optimize = false) { - return triangulatePoint3 > // + return triangulatePoint3 > // (cameras, measurements, rank_tol, optimize); } diff --git a/gtsam/slam/TriangulationFactor.h b/gtsam/slam/TriangulationFactor.h index 895d00f4c..19615c8cc 100644 --- a/gtsam/slam/TriangulationFactor.h +++ b/gtsam/slam/TriangulationFactor.h @@ -16,8 +16,7 @@ */ #include -#include -#include +#include #include namespace gtsam { @@ -27,7 +26,7 @@ namespace gtsam { * The calibration and pose are assumed known. * @addtogroup SLAM */ -template > +template class TriangulationFactor: public NoiseModelFactor1 { public: