diff --git a/.cproject b/.cproject
index b086d14c5..9d037969e 100644
--- a/.cproject
+++ b/.cproject
@@ -322,6 +322,14 @@
true
true
+
+ make
+ -j2
+ testGaussianFactor.run
+ true
+ true
+ true
+
make
-j2
@@ -348,7 +356,6 @@
make
-
tests/testBayesTree.run
true
false
@@ -356,7 +363,6 @@
make
-
testBinaryBayesNet.run
true
false
@@ -404,7 +410,6 @@
make
-
testSymbolicBayesNet.run
true
false
@@ -412,7 +417,6 @@
make
-
tests/testSymbolicFactor.run
true
false
@@ -420,7 +424,6 @@
make
-
testSymbolicFactorGraph.run
true
false
@@ -436,20 +439,11 @@
make
-
tests/testBayesTree
true
false
true
-
- make
- -j2
- testGaussianFactor.run
- true
- true
- true
-
make
-j2
@@ -484,6 +478,7 @@
make
+
testGraph.run
true
false
@@ -579,6 +574,7 @@
make
+
testInference.run
true
false
@@ -586,6 +582,7 @@
make
+
testGaussianBayesNet.run
true
false
@@ -593,6 +590,7 @@
make
+
testGaussianFactor.run
true
false
@@ -600,6 +598,7 @@
make
+
testJunctionTree.run
true
false
@@ -607,6 +606,7 @@
make
+
testSymbolicBayesNet.run
true
false
@@ -614,6 +614,7 @@
make
+
testSymbolicFactorGraph.run
true
false
@@ -803,14 +804,6 @@
true
true
-
- make
- -j2
- testFusionTupleConfig.run
- true
- true
- true
-
make
-j2
@@ -973,7 +966,6 @@
make
-
testErrors.run
true
false
@@ -1333,6 +1325,7 @@
make
+
testSimulated2DOriented.run
true
false
@@ -1372,6 +1365,7 @@
make
+
testSimulated2D.run
true
false
@@ -1379,6 +1373,7 @@
make
+
testSimulated3D.run
true
false
@@ -1474,6 +1469,7 @@
make
+
tests/testGaussianISAM2
true
false
@@ -1495,46 +1491,6 @@
true
true
-
- make
- -j2
- install
- true
- true
- true
-
-
- make
- -j2
- clean
- true
- true
- true
-
-
- make
- -j2
- check
- true
- true
- true
-
-
- make
- -j2
- all
- true
- true
- true
-
-
- make
- -j2
- dist
- true
- true
- true
-
make
-j2
@@ -1631,6 +1587,54 @@
true
true
+
+ make
+ -j2
+ install
+ true
+ true
+ true
+
+
+ make
+ -j2
+ clean
+ true
+ true
+ true
+
+
+ make
+ -j2
+ check
+ true
+ true
+ true
+
+
+ make
+ -j2
+ all
+ true
+ true
+ true
+
+
+ make
+ -j2
+ dist
+ true
+ true
+ true
+
+
+ make
+ -j2
+ check
+ true
+ true
+ true
+
make
-j2
@@ -1663,14 +1667,6 @@
true
true
-
- make
- -j2
- check
- true
- true
- true
-
@@ -1993,6 +1989,14 @@
true
true
+
+ make
+ -j2
+ testGaussianFactor.run
+ true
+ true
+ true
+
make
-j2
@@ -2019,7 +2023,6 @@
make
-
tests/testBayesTree.run
true
false
@@ -2027,7 +2030,6 @@
make
-
testBinaryBayesNet.run
true
false
@@ -2075,7 +2077,6 @@
make
-
testSymbolicBayesNet.run
true
false
@@ -2083,7 +2084,6 @@
make
-
tests/testSymbolicFactor.run
true
false
@@ -2091,7 +2091,6 @@
make
-
testSymbolicFactorGraph.run
true
false
@@ -2107,20 +2106,11 @@
make
-
tests/testBayesTree
true
false
true
-
- make
- -j2
- testGaussianFactor.run
- true
- true
- true
-
make
-j2
@@ -2155,6 +2145,7 @@
make
+
testGraph.run
true
false
@@ -2250,6 +2241,7 @@
make
+
testInference.run
true
false
@@ -2257,6 +2249,7 @@
make
+
testGaussianBayesNet.run
true
false
@@ -2264,6 +2257,7 @@
make
+
testGaussianFactor.run
true
false
@@ -2271,6 +2265,7 @@
make
+
testJunctionTree.run
true
false
@@ -2278,6 +2273,7 @@
make
+
testSymbolicBayesNet.run
true
false
@@ -2285,6 +2281,7 @@
make
+
testSymbolicFactorGraph.run
true
false
@@ -2474,14 +2471,6 @@
true
true
-
- make
- -j2
- testFusionTupleConfig.run
- true
- true
- true
-
make
-j2
@@ -2644,7 +2633,6 @@
make
-
testErrors.run
true
false
@@ -3004,6 +2992,7 @@
make
+
testSimulated2DOriented.run
true
false
@@ -3043,6 +3032,7 @@
make
+
testSimulated2D.run
true
false
@@ -3050,6 +3040,7 @@
make
+
testSimulated3D.run
true
false
@@ -3145,6 +3136,7 @@
make
+
tests/testGaussianISAM2
true
false
@@ -3166,46 +3158,6 @@
true
true
-
- make
- -j2
- install
- true
- true
- true
-
-
- make
- -j2
- clean
- true
- true
- true
-
-
- make
- -j2
- check
- true
- true
- true
-
-
- make
- -j2
- all
- true
- true
- true
-
-
- make
- -j2
- dist
- true
- true
- true
-
make
-j2
@@ -3302,6 +3254,54 @@
true
true
+
+ make
+ -j2
+ install
+ true
+ true
+ true
+
+
+ make
+ -j2
+ clean
+ true
+ true
+ true
+
+
+ make
+ -j2
+ check
+ true
+ true
+ true
+
+
+ make
+ -j2
+ all
+ true
+ true
+ true
+
+
+ make
+ -j2
+ dist
+ true
+ true
+ true
+
+
+ make
+ -j2
+ check
+ true
+ true
+ true
+
make
-j2
@@ -3334,14 +3334,6 @@
true
true
-
- make
- -j2
- check
- true
- true
- true
-
diff --git a/gtsam/linear/NoiseModel.cpp b/gtsam/linear/NoiseModel.cpp
index fe230588c..bd366e74e 100644
--- a/gtsam/linear/NoiseModel.cpp
+++ b/gtsam/linear/NoiseModel.cpp
@@ -42,11 +42,12 @@ static double inf = std::numeric_limits::infinity();
using namespace std;
/** implement the export code for serialization */
-BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Constrained);
-BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Diagonal);
-BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Gaussian);
-BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Unit);
-BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Isotropic);
+// FIXME: doesn't work outside of the library
+//BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Constrained);
+//BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Diagonal);
+//BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Gaussian);
+//BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Unit);
+//BOOST_CLASS_EXPORT_IMPLEMENT(gtsam::noiseModel::Isotropic);
namespace gtsam {
diff --git a/gtsam/linear/NoiseModel.h b/gtsam/linear/NoiseModel.h
index 457a178b5..e5a5db009 100644
--- a/gtsam/linear/NoiseModel.h
+++ b/gtsam/linear/NoiseModel.h
@@ -510,12 +510,13 @@ namespace gtsam {
} // namespace gtsam
/** Export keys for serialization */
-#include
-#include
-BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Constrained, "gtsam_noiseModel_Constrained");
-BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Diagonal, "gtsam_noiseModel_Diagonal");
-BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Gaussian, "gtsam_noiseModel_Gaussian");
-BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Unit, "gtsam_noiseModel_Unit");
-BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Isotropic, "gtsam_noiseModel_Isotropic");
+// FIXME: doesn't actually work outside of the library
+//#include
+//#include
+//BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Constrained, "gtsam_noiseModel_Constrained");
+//BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Diagonal, "gtsam_noiseModel_Diagonal");
+//BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Gaussian, "gtsam_noiseModel_Gaussian");
+//BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Unit, "gtsam_noiseModel_Unit");
+//BOOST_CLASS_EXPORT_KEY2(gtsam::noiseModel::Isotropic, "gtsam_noiseModel_Isotropic");
diff --git a/gtsam/linear/SharedDiagonal.h b/gtsam/linear/SharedDiagonal.h
index 57d5e4c2b..6564a3c7e 100644
--- a/gtsam/linear/SharedDiagonal.h
+++ b/gtsam/linear/SharedDiagonal.h
@@ -18,6 +18,8 @@
#pragma once
+#include
+#include
#include
namespace gtsam { // note, deliberately not in noiseModel namespace
@@ -68,3 +70,5 @@ namespace gtsam { // note, deliberately not in noiseModel namespace
}
}
+
+BOOST_CLASS_EXPORT_GUID(gtsam::SharedDiagonal, "gtsam_SharedDiagonal")
diff --git a/gtsam/linear/SharedGaussian.h b/gtsam/linear/SharedGaussian.h
index d14a43068..7239556f7 100644
--- a/gtsam/linear/SharedGaussian.h
+++ b/gtsam/linear/SharedGaussian.h
@@ -18,6 +18,8 @@
#pragma once
+#include
+#include
#include
namespace gtsam { // note, deliberately not in noiseModel namespace
@@ -74,5 +76,6 @@ namespace gtsam { // note, deliberately not in noiseModel namespace
boost::serialization::base_object(*this));
}
};
-
}
+
+BOOST_CLASS_EXPORT_GUID(gtsam::SharedGaussian, "gtsam_SharedGaussian")
diff --git a/tests/testSerialization.cpp b/tests/testSerialization.cpp
index be5d32d6d..c98000564 100644
--- a/tests/testSerialization.cpp
+++ b/tests/testSerialization.cpp
@@ -195,6 +195,13 @@ TEST (Serialization, xml_linear) {
// EXPECT(equalsXML());
// EXPECT(equalsXML());
}
+/* ************************************************************************* */
+// Export Noisemodels
+BOOST_CLASS_EXPORT_GUID(gtsam::noiseModel::Constrained, "gtsam_noiseModel_Constrained");
+BOOST_CLASS_EXPORT_GUID(gtsam::noiseModel::Diagonal, "gtsam_noiseModel_Diagonal");
+BOOST_CLASS_EXPORT_GUID(gtsam::noiseModel::Gaussian, "gtsam_noiseModel_Gaussian");
+BOOST_CLASS_EXPORT_GUID(gtsam::noiseModel::Unit, "gtsam_noiseModel_Unit");
+BOOST_CLASS_EXPORT_GUID(gtsam::noiseModel::Isotropic, "gtsam_noiseModel_Isotropic");
/* ************************************************************************* */
// example noise models
@@ -225,6 +232,10 @@ TEST (Serialization, noiseModels) {
/* ************************************************************************* */
TEST (Serialization, SharedGaussian_noiseModels) {
+ SharedGaussian diag3_sg = diag3;
+ EXPECT(equalsDereferenced(diag3_sg));
+ EXPECT(equalsDereferencedXML(diag3_sg));
+
EXPECT(equalsDereferenced(diag3));
EXPECT(equalsDereferencedXML(diag3));