Skip to content

Commit 343499c

Browse files
committed
Fix build against different gtsam versions
1 parent 703c9bd commit 343499c

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

module/src/FrameToFrameLoopClosure.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include <gtsam/slam/BetweenFactor.h>
1919
#include <mola_georeferencing/simplemap_georeference.h>
2020
#include <mola_gtsam_factors/FactorGnssEnu.h>
21+
#include <mola_gtsam_factors/gtsam_detect_version.h>
2122
#include <mola_sm_loop_closure/FrameToFrameLoopClosure.h>
2223
#include <mola_yaml/yaml_helpers.h>
2324
#include <mrpt/core/get_env.h>
@@ -467,9 +468,13 @@ void FrameToFrameLoopClosure::build_initial_graph()
467468

468469
auto edgeNoise = gtsam::noiseModel::Diagonal::Sigmas(sigmas);
469470

471+
#if GTSAM_USES_BOOST
470472
auto factor = boost::make_shared<gtsam::BetweenFactor<gtsam::Pose3>>(
471473
X(i - 1), X(i), deltaPose, edgeNoise);
472-
474+
#else
475+
auto factor = std::make_shared<gtsam::BetweenFactor<gtsam::Pose3>>(
476+
X(i - 1), X(i), deltaPose, edgeNoise);
477+
#endif
473478
state_.graphFG += factor;
474479
}
475480

module/src/SimplemapLoopClosure.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
// MRPT:
1616
#include <mola_georeferencing/simplemap_georeference.h>
17+
#include <mola_gtsam_factors/gtsam_detect_version.h>
1718
#include <mrpt/core/get_env.h>
1819
#include <mrpt/obs/CObservation2DRangeScan.h>
1920
#include <mrpt/obs/CObservation3DRangeScan.h>
@@ -390,7 +391,11 @@ void SimplemapLoopClosure::process(mrpt::maps::CSimpleMap& sm)
390391
// anchor for first KF: only if we don't have GNSS
391392
if (!x0prior)
392393
{
394+
#if GTSAM_USES_BOOST
393395
x0prior = boost::make_shared<gtsam::PriorFactor<gtsam::Pose3>>(X(id), p);
396+
#else
397+
x0prior = std::make_shared<gtsam::PriorFactor<gtsam::Pose3>>(X(id), p);
398+
#endif
394399
}
395400
}
396401
}
@@ -446,8 +451,13 @@ void SimplemapLoopClosure::process(mrpt::maps::CSimpleMap& sm)
446451

447452
auto edgeNoise = gtsam::noiseModel::Diagonal::Sigmas(sigmas);
448453

454+
#if GTSAM_USES_BOOST
449455
auto f = boost::make_shared<gtsam::BetweenFactor<gtsam::Pose3>>(
450456
X(i - 1), X(i), deltaPose, edgeNoise);
457+
#else
458+
auto f = std::make_shared<gtsam::BetweenFactor<gtsam::Pose3>>(
459+
X(i - 1), X(i), deltaPose, edgeNoise);
460+
#endif
451461

452462
state_.kfGraphFG += f;
453463
state_.kfGraphFGRobust += f;

0 commit comments

Comments
 (0)