From a056ba2095e6aaabf60230b919a8427bfa142b21 Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Fri, 9 Aug 2013 21:52:24 +0000 Subject: [PATCH] Fixed check for zero-row jacobians in Scatter --- gtsam/linear/HessianFactor.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtsam/linear/HessianFactor.cpp b/gtsam/linear/HessianFactor.cpp index f73b2b531..1fa94922b 100644 --- a/gtsam/linear/HessianFactor.cpp +++ b/gtsam/linear/HessianFactor.cpp @@ -70,7 +70,10 @@ Scatter::Scatter(const GaussianFactorGraph& gfg, boost::optionalbegin(); variable != factor->end(); ++variable) { - this->insert(make_pair(*variable, SlotEntry(none, factor->getDim(variable)))); + // TODO: Fix this hack to cope with zero-row Jacobians that come from BayesTreeOrphanWrappers + const JacobianFactor* asJacobian = dynamic_cast(factor.get()); + if(!asJacobian || asJacobian->rows() > 0) + this->insert(make_pair(*variable, SlotEntry(none, factor->getDim(variable)))); } } }