From 748877ff7e6496bfca0330dfbac661f47d5d269e Mon Sep 17 00:00:00 2001 From: cbeall3 Date: Tue, 28 Jul 2015 14:56:45 -0400 Subject: [PATCH] remove calibration template from SmartStereoProjectionFactor --- .../slam/SmartStereoProjectionFactor.h | 19 +++++++++---------- .../slam/SmartStereoProjectionPoseFactor.h | 7 ++----- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/gtsam_unstable/slam/SmartStereoProjectionFactor.h b/gtsam_unstable/slam/SmartStereoProjectionFactor.h index f0a4dd4f5..e9a18e9ec 100644 --- a/gtsam_unstable/slam/SmartStereoProjectionFactor.h +++ b/gtsam_unstable/slam/SmartStereoProjectionFactor.h @@ -126,12 +126,10 @@ enum DegeneracyMode { * This factor operates with StereoCamrea. This factor requires that values * contains the involved camera poses. Calibration is assumed to be fixed. */ -template class SmartStereoProjectionFactor: public SmartFactorBase { private: typedef SmartFactorBase Base; - typedef SmartStereoProjectionFactor This; protected: @@ -149,7 +147,7 @@ protected: public: /// shorthand for a smart pointer to a factor - typedef boost::shared_ptr shared_ptr; + typedef boost::shared_ptr shared_ptr; /// Vector of cameras typedef CameraSet Cameras; @@ -184,7 +182,8 @@ public: /// equals virtual bool equals(const NonlinearFactor& p, double tol = 1e-9) const { - const This *e = dynamic_cast(&p); + const SmartStereoProjectionFactor *e = + dynamic_cast(&p); return e && params_.linearizationMode == e->params_.linearizationMode && Base::equals(p, tol); } @@ -467,7 +466,7 @@ public: /// Assumes the point has been computed /// Note E can be 2m*3 or 2m*2, in case point is degenerate void computeJacobiansWithTriangulatedPoint( - std::vector& Fblocks, Matrix& E, Vector& b, + std::vector& Fblocks, Matrix& E, Vector& b, const Cameras& cameras) const { if (!result_) { @@ -486,7 +485,7 @@ public: /// Version that takes values, and creates the point bool triangulateAndComputeJacobians( - std::vector& Fblocks, Matrix& E, Vector& b, + std::vector& Fblocks, Matrix& E, Vector& b, const Values& values) const { Cameras cameras = this->cameras(values); bool nonDegenerate = triangulateForLinearize(cameras); @@ -497,7 +496,7 @@ public: /// takes values bool triangulateAndComputeJacobiansSVD( - std::vector& Fblocks, Matrix& Enull, Vector& b, + std::vector& Fblocks, Matrix& Enull, Vector& b, const Values& values) const { Cameras cameras = this->cameras(values); bool nonDegenerate = triangulateForLinearize(cameras); @@ -595,9 +594,9 @@ private: }; /// traits -template -struct traits > : public Testable< - SmartStereoProjectionFactor > { +template<> +struct traits : public Testable< + SmartStereoProjectionFactor> { }; } // \ namespace gtsam diff --git a/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h b/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h index f9ed686c6..50d9bb8fb 100644 --- a/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h +++ b/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h @@ -39,10 +39,7 @@ namespace gtsam { * @addtogroup SLAM */ template -class SmartStereoProjectionPoseFactor: public SmartStereoProjectionFactor { - -public: - +class SmartStereoProjectionPoseFactor: public SmartStereoProjectionFactor { protected: @@ -53,7 +50,7 @@ public: EIGEN_MAKE_ALIGNED_OPERATOR_NEW /// shorthand for base class type - typedef SmartStereoProjectionFactor Base; + typedef SmartStereoProjectionFactor Base; /// shorthand for this class typedef SmartStereoProjectionPoseFactor This;