From d3b5c463edd4c946b518bbf8d40b92ccc45701d9 Mon Sep 17 00:00:00 2001 From: Alex Cunningham Date: Mon, 3 Sep 2012 17:22:09 +0000 Subject: [PATCH] Fixed initialization bug --- gtsam_unstable/nonlinear/LinearContainerFactor.cpp | 9 +++++++++ gtsam_unstable/nonlinear/LinearContainerFactor.h | 3 +-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gtsam_unstable/nonlinear/LinearContainerFactor.cpp b/gtsam_unstable/nonlinear/LinearContainerFactor.cpp index e6c49b318..b5701fb13 100644 --- a/gtsam_unstable/nonlinear/LinearContainerFactor.cpp +++ b/gtsam_unstable/nonlinear/LinearContainerFactor.cpp @@ -38,6 +38,15 @@ void LinearContainerFactor::initializeLinearizationPoint(const Values& lineariza } } +/* ************************************************************************* */ +LinearContainerFactor::LinearContainerFactor(const GaussianFactor::shared_ptr& factor, + const boost::optional& linearizationPoint) +: factor_(factor), linearizationPoint_(linearizationPoint) { + // Extract keys stashed in linear factor + BOOST_FOREACH(const Index& idx, factor_->keys()) + keys_.push_back(idx); +} + /* ************************************************************************* */ LinearContainerFactor::LinearContainerFactor( const JacobianFactor& factor, const Ordering& ordering, diff --git a/gtsam_unstable/nonlinear/LinearContainerFactor.h b/gtsam_unstable/nonlinear/LinearContainerFactor.h index a8f7cd399..324556622 100644 --- a/gtsam_unstable/nonlinear/LinearContainerFactor.h +++ b/gtsam_unstable/nonlinear/LinearContainerFactor.h @@ -25,8 +25,7 @@ protected: /** direct copy constructor */ LinearContainerFactor(const GaussianFactor::shared_ptr& factor, - const boost::optional& linearizationPoint) - : factor_(factor), linearizationPoint_(linearizationPoint) {} + const boost::optional& linearizationPoint); public: