From 314c44b0adfac305f91e6f73643c89231c8b22ee Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Tue, 12 Nov 2013 17:03:08 +0000 Subject: [PATCH] Fix when comparing NonlinearFactor with NULL noise model --- gtsam/nonlinear/NonlinearFactor.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtsam/nonlinear/NonlinearFactor.h b/gtsam/nonlinear/NonlinearFactor.h index 3df049268..c3cd41e2a 100644 --- a/gtsam/nonlinear/NonlinearFactor.h +++ b/gtsam/nonlinear/NonlinearFactor.h @@ -238,7 +238,9 @@ public: /** Check if two factors are equal */ virtual bool equals(const NonlinearFactor& f, double tol = 1e-9) const { const NoiseModelFactor* e = dynamic_cast(&f); - return e && Base::equals(f, tol) && noiseModel_->equals(*e->noiseModel_, tol); + return e && Base::equals(f, tol) && + ((!noiseModel_ && !e->noiseModel_) || + (noiseModel_ && e->noiseModel_ && noiseModel_->equals(*e->noiseModel_, tol))); } /** get the dimension of the factor (number of rows on linearization) */