From 063ca9c8eeab7197e51c39c6f27b8cf9541a5849 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Mon, 1 Apr 2024 23:05:16 -0700 Subject: [PATCH] fixed gtsam 4.3 build error (https://github.com/introlab/rtabmap/pull/1033#issuecomment-2031002034) --- corelib/src/optimizer/OptimizerGTSAM.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/corelib/src/optimizer/OptimizerGTSAM.cpp b/corelib/src/optimizer/OptimizerGTSAM.cpp index 2a1cf9900d..f561180959 100644 --- a/corelib/src/optimizer/OptimizerGTSAM.cpp +++ b/corelib/src/optimizer/OptimizerGTSAM.cpp @@ -701,7 +701,11 @@ std::map OptimizerGTSAM::optimize( float x,y,z,roll,pitch,yaw; std::map tmpPoses; Values values = isam2_?isam2_->calculateEstimate():optimizer->values(); +#if GTSAM_VERSION_NUMERIC >= 40200 + for(gtsam::Values::deref_iterator iter=values.begin(); iter!=values.end(); ++iter) +#else for(gtsam::Values::iterator iter=values.begin(); iter!=values.end(); ++iter) +#endif { int key = (int)iter->key; if(iter->value.dim() > 1 && uContains(newPoses, key)) @@ -869,7 +873,11 @@ std::map OptimizerGTSAM::optimize( float x,y,z,roll,pitch,yaw; gtsam::Values values = isam2_?isam2_->calculateEstimate():optimizer->values(); +#if GTSAM_VERSION_NUMERIC >= 40200 + for(gtsam::Values::deref_iterator iter=values.begin(); iter!=values.end(); ++iter) +#else for(gtsam::Values::iterator iter=values.begin(); iter!=values.end(); ++iter) +#endif { int key = (int)iter->key; if(iter->value.dim() > 1 && uContains(poses, key))