From 8b9c199d0b079bacf29997c7c496520b471a49b6 Mon Sep 17 00:00:00 2001 From: Fan Jiang Date: Sun, 12 Jul 2020 10:28:23 -0400 Subject: [PATCH 1/2] Move the declaration to cpp --- gtsam/navigation/CombinedImuFactor.h | 2 -- gtsam/navigation/tests/testImuFactorSerialization.cpp | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gtsam/navigation/CombinedImuFactor.h b/gtsam/navigation/CombinedImuFactor.h index f47ce8846..f7ea25371 100644 --- a/gtsam/navigation/CombinedImuFactor.h +++ b/gtsam/navigation/CombinedImuFactor.h @@ -384,5 +384,3 @@ struct traits : public Testable {}; } // namespace gtsam -/// Add Boost serialization export for derived class -BOOST_CLASS_EXPORT_GUID(gtsam::PreintegrationCombinedParams, "gtsam_PreintegrationCombinedParams"); diff --git a/gtsam/navigation/tests/testImuFactorSerialization.cpp b/gtsam/navigation/tests/testImuFactorSerialization.cpp index ed72e18e9..6a9e727f2 100644 --- a/gtsam/navigation/tests/testImuFactorSerialization.cpp +++ b/gtsam/navigation/tests/testImuFactorSerialization.cpp @@ -42,6 +42,9 @@ BOOST_CLASS_EXPORT_GUID(gtsam::noiseModel::Isotropic, BOOST_CLASS_EXPORT_GUID(gtsam::SharedNoiseModel, "gtsam_SharedNoiseModel"); BOOST_CLASS_EXPORT_GUID(gtsam::SharedDiagonal, "gtsam_SharedDiagonal"); +/// Add Boost serialization export for derived class +BOOST_CLASS_EXPORT_GUID(gtsam::PreintegrationCombinedParams, "gtsam_PreintegrationCombinedParams"); + template P getPreintegratedMeasurements() { // Create default parameters with Z-down and above noise paramaters From a500b4147312d0756e73c82c03bb2da46d0a3e79 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Sun, 12 Jul 2020 11:39:47 -0400 Subject: [PATCH 2/2] Better way of exporting Boost serialization guid --- gtsam/navigation/CombinedImuFactor.cpp | 3 +++ gtsam/navigation/CombinedImuFactor.h | 2 ++ gtsam/navigation/tests/testImuFactorSerialization.cpp | 3 --- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gtsam/navigation/CombinedImuFactor.cpp b/gtsam/navigation/CombinedImuFactor.cpp index 7a8c73013..7f58f7e64 100644 --- a/gtsam/navigation/CombinedImuFactor.cpp +++ b/gtsam/navigation/CombinedImuFactor.cpp @@ -313,3 +313,6 @@ void CombinedImuFactor::Predict(const Pose3& pose_i, const Vector3& vel_i, } /// namespace gtsam +/// Boost serialization export definition for derived class +BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::PreintegrationCombinedParams); + diff --git a/gtsam/navigation/CombinedImuFactor.h b/gtsam/navigation/CombinedImuFactor.h index f7ea25371..8b6dcd3f2 100644 --- a/gtsam/navigation/CombinedImuFactor.h +++ b/gtsam/navigation/CombinedImuFactor.h @@ -384,3 +384,5 @@ struct traits : public Testable {}; } // namespace gtsam +/// Add Boost serialization export key (declaration) for derived class +BOOST_CLASS_EXPORT_KEY(gtsam::PreintegrationCombinedParams); diff --git a/gtsam/navigation/tests/testImuFactorSerialization.cpp b/gtsam/navigation/tests/testImuFactorSerialization.cpp index 6a9e727f2..ed72e18e9 100644 --- a/gtsam/navigation/tests/testImuFactorSerialization.cpp +++ b/gtsam/navigation/tests/testImuFactorSerialization.cpp @@ -42,9 +42,6 @@ BOOST_CLASS_EXPORT_GUID(gtsam::noiseModel::Isotropic, BOOST_CLASS_EXPORT_GUID(gtsam::SharedNoiseModel, "gtsam_SharedNoiseModel"); BOOST_CLASS_EXPORT_GUID(gtsam::SharedDiagonal, "gtsam_SharedDiagonal"); -/// Add Boost serialization export for derived class -BOOST_CLASS_EXPORT_GUID(gtsam::PreintegrationCombinedParams, "gtsam_PreintegrationCombinedParams"); - template P getPreintegratedMeasurements() { // Create default parameters with Z-down and above noise paramaters