diff --git a/gtsam/linear/HessianFactor.cpp b/gtsam/linear/HessianFactor.cpp index 400f2251d..1572521f6 100644 --- a/gtsam/linear/HessianFactor.cpp +++ b/gtsam/linear/HessianFactor.cpp @@ -73,7 +73,7 @@ Scatter::Scatter(const GaussianFactorGraph& gfg, boost::optionalbegin(); variable != factor->end(); ++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) + if(!asJacobian || asJacobian->cols() > 1) this->insert(make_pair(*variable, SlotEntry(none, factor->getDim(variable)))); } } diff --git a/gtsam/linear/JacobianFactor.cpp b/gtsam/linear/JacobianFactor.cpp index 50d03a7ad..a35b44295 100644 --- a/gtsam/linear/JacobianFactor.cpp +++ b/gtsam/linear/JacobianFactor.cpp @@ -162,7 +162,7 @@ namespace gtsam { const size_t sourceVarpos = slots->second[sourceFactorI]; if(sourceVarpos < numeric_limits::max()) { const JacobianFactor& sourceFactor = *factors[sourceFactorI]; - if(sourceFactor.cols() > 0) { + if(sourceFactor.cols() > 1) { foundVariable = true; DenseIndex vardim = sourceFactor.getDim(sourceFactor.begin() + sourceVarpos);