From a27f97dec4e1976b9f85c3de3f03f8b597d2840c Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Thu, 21 Nov 2013 15:42:17 +0000 Subject: [PATCH] Fix in ConcurrentFilteringAndSmoothing - one elimination call was using the default elimination function instead of the one from the parameters. --- gtsam_unstable/nonlinear/ConcurrentFilteringAndSmoothing.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gtsam_unstable/nonlinear/ConcurrentFilteringAndSmoothing.cpp b/gtsam_unstable/nonlinear/ConcurrentFilteringAndSmoothing.cpp index 49f0ac408..3b6b884f6 100644 --- a/gtsam_unstable/nonlinear/ConcurrentFilteringAndSmoothing.cpp +++ b/gtsam_unstable/nonlinear/ConcurrentFilteringAndSmoothing.cpp @@ -71,7 +71,8 @@ NonlinearFactorGraph calculateMarginalFactors(const NonlinearFactorGraph& graph, // Create the linear factor graph GaussianFactorGraph linearFactorGraph = *graph.linearize(theta); // .first is the eliminated Bayes tree, while .second is the remaining factor graph - GaussianFactorGraph marginalLinearFactors = *linearFactorGraph.eliminatePartialMultifrontal(std::vector(marginalizeKeys.begin(), marginalizeKeys.end())).second; + GaussianFactorGraph marginalLinearFactors = *linearFactorGraph.eliminatePartialMultifrontal( + std::vector(marginalizeKeys.begin(), marginalizeKeys.end()), eliminateFunction).second; // Wrap in nonlinear container factors NonlinearFactorGraph marginalFactors;