From dcce21639f7d1e28e98884689fc6f0ed558b4e66 Mon Sep 17 00:00:00 2001 From: Luca Date: Fri, 19 Jun 2015 14:59:33 -0400 Subject: [PATCH] included new constructors (still commented out) --- gtsam/slam/SmartProjectionFactor.h | 19 +++++++++++++++---- gtsam/slam/SmartProjectionPoseFactor.h | 11 +++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/gtsam/slam/SmartProjectionFactor.h b/gtsam/slam/SmartProjectionFactor.h index 9c206bdd5..7ac2a03be 100644 --- a/gtsam/slam/SmartProjectionFactor.h +++ b/gtsam/slam/SmartProjectionFactor.h @@ -44,7 +44,7 @@ enum DegeneracyMode { /* * Parameters for the smart projection factors */ -class GTSAM_EXPORT SmartProjectionFactorParams { +class GTSAM_EXPORT SmartProjectionParams { public: @@ -64,7 +64,7 @@ public: /// @} // Constructor - SmartProjectionFactorParams(LinearizationMode linMode = HESSIAN, + SmartProjectionParams(LinearizationMode linMode = HESSIAN, DegeneracyMode degMode = IGNORE_DEGENERACY, double rankTol = 1, bool enableEPI = false, double landmarkDistanceThreshold = 1e10, double dynamicOutlierRejectionThreshold = -1): @@ -74,7 +74,7 @@ public: retriangulationThreshold(1e-5), throwCheirality(false), verboseCheirality(false) {} - virtual ~SmartProjectionFactorParams() {} + virtual ~SmartProjectionParams() {} void print(const std::string& str) const { std::cout << " linearizationMode: " << linearizationMode << "\n"; @@ -117,7 +117,7 @@ protected: /// @name Parameters /// @{ - const SmartProjectionFactorParams params_; + const SmartProjectionParams params_; /// @} /// @name Caching triangulation @@ -154,6 +154,17 @@ public: dynamicOutlierRejectionThreshold), // result_(TriangulationResult::Degenerate()) {} + /** + * Constructor + * @param body_P_sensor pose of the camera in the body frame + * @param params internal parameters of the smart factors + */ +// SmartProjectionFactor(const boost::optional body_P_sensor = boost::none, +// const SmartProjectionParams params = SmartProjectionParams()) : +// Base(body_P_sensor), +// params_(params), // +// result_(TriangulationResult::Degenerate()) {} + /** Virtual destructor */ virtual ~SmartProjectionFactor() { } diff --git a/gtsam/slam/SmartProjectionPoseFactor.h b/gtsam/slam/SmartProjectionPoseFactor.h index 9a47bd34f..fbd9e1ca6 100644 --- a/gtsam/slam/SmartProjectionPoseFactor.h +++ b/gtsam/slam/SmartProjectionPoseFactor.h @@ -72,6 +72,17 @@ public: Base(linearizeTo, rankTol, manageDegeneracy, enableEPI, landmarkDistanceThreshold, dynamicOutlierRejectionThreshold, body_P_sensor), K_(K) {} + /** + * Constructor + * @param K (fixed) calibration, assumed to be the same for all cameras + * @param body_P_sensor pose of the camera in the body frame + * @param params internal parameters of the smart factors + */ +// SmartProjectionPoseFactor(const boost::shared_ptr K, +// const boost::optional body_P_sensor = boost::none, +// const SmartProjectionParams params = SmartProjectionParams()) : +// Base(body_P_sensor, params), K_(K) {} + /** Virtual destructor */ virtual ~SmartProjectionPoseFactor() {}