From 309f2151cf2da6075233d1ebf286cb00d610cea5 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Fri, 13 Nov 2009 06:17:59 +0000 Subject: [PATCH] Clean-up --- cpp/VSLAMFactor.cpp | 17 ++++++----------- cpp/VSLAMFactor.h | 6 ++---- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/cpp/VSLAMFactor.cpp b/cpp/VSLAMFactor.cpp index 127f353b9..e0e7b4aef 100644 --- a/cpp/VSLAMFactor.cpp +++ b/cpp/VSLAMFactor.cpp @@ -13,18 +13,13 @@ using namespace std; namespace gtsam{ /* ************************************************************************* */ -VSLAMFactor::VSLAMFactor(const Vector& z, double sigma, int cn, int ln, const Cal3_S2 &K) - : NonlinearFactor(z, sigma) +VSLAMFactor::VSLAMFactor(const Point2& z, double sigma, int cn, int ln, const Cal3_S2 &K) + : NonlinearFactor(z.vector(), sigma) { cameraFrameNumber_ = cn; - landmarkNumber_ = ln; - char temp[100]; - temp[0] = 0; - sprintf(temp, "x%d", cameraFrameNumber_); - cameraFrameName_ = string(temp); - temp[0] = 0; - sprintf(temp, "l%d", landmarkNumber_); - landmarkName_ = string(temp); + landmarkNumber_ = ln; + cameraFrameName_ = symbol('x',cameraFrameNumber_); + landmarkName_ = symbol('l',landmarkNumber_); K_ = K; } @@ -35,7 +30,7 @@ void VSLAMFactor::print(const std::string& s) const { } /* ************************************************************************* */ - bool VSLAMFactor::equals(const VSLAMFactor& p, double tol) const { +bool VSLAMFactor::equals(const VSLAMFactor& p, double tol) const { if (&p == NULL) return false; if (cameraFrameNumber_ != p.cameraFrameNumber_ || landmarkNumber_ != p.landmarkNumber_) return false; if (!equal_with_abs_tol(this->z_,p.z_,tol)) return false; diff --git a/cpp/VSLAMFactor.h b/cpp/VSLAMFactor.h index b44175f42..920187bc7 100644 --- a/cpp/VSLAMFactor.h +++ b/cpp/VSLAMFactor.h @@ -11,7 +11,6 @@ #include "Cal3_S2.h" #include "Testable.h" - namespace gtsam { class VSLAMConfig; @@ -20,7 +19,6 @@ class VSLAMConfig; * Non-linear factor for a constraint derived from a 2D measurement, * i.e. the main building block for visual SLAM. */ -//class VSLAMFactor : public NonlinearFactor, Testable > class VSLAMFactor : public NonlinearFactor, Testable { private: @@ -28,7 +26,7 @@ class VSLAMFactor : public NonlinearFactor, Testable int cameraFrameNumber_, landmarkNumber_; std::string cameraFrameName_, landmarkName_; Cal3_S2 K_; // Calibration stored in each factor. FD: need to think about this. - typedef gtsam::NonlinearFactor ConvenientFactor; + typedef NonlinearFactor ConvenientFactor; public: @@ -42,7 +40,7 @@ class VSLAMFactor : public NonlinearFactor, Testable * @param landmarkNumber is the index of the landmark * @param K the constant calibration */ - VSLAMFactor(const Vector& z, double sigma, int cameraFrameNumber, int landmarkNumber, const Cal3_S2& K); + VSLAMFactor(const Point2& z, double sigma, int cameraFrameNumber, int landmarkNumber, const Cal3_S2& K); /**