fixed serialization (no need to save B!)

release/4.3a0
Frank Dellaert 2015-07-11 20:00:41 -07:00
parent 9146bfe89f
commit 5c406dc7c7
2 changed files with 12 additions and 9 deletions

View File

@ -147,7 +147,7 @@ public:
enum CoordinatesMode {
EXPMAP, ///< Use the exponential map to retract
RENORM ///< Retract with vector addtion and renormalize.
RENORM ///< Retract with vector addition and renormalize.
};
/// The retract function
@ -167,13 +167,6 @@ private:
template<class ARCHIVE>
void serialize(ARCHIVE & ar, const unsigned int /*version*/) {
ar & BOOST_SERIALIZATION_NVP(p_);
// homebrew serialize Eigen Matrix
ar & boost::serialization::make_nvp("B11", (*B_)(0, 0));
ar & boost::serialization::make_nvp("B12", (*B_)(0, 1));
ar & boost::serialization::make_nvp("B21", (*B_)(1, 0));
ar & boost::serialization::make_nvp("B22", (*B_)(1, 1));
ar & boost::serialization::make_nvp("B31", (*B_)(2, 0));
ar & boost::serialization::make_nvp("B32", (*B_)(2, 1));
}
/// @}

View File

@ -22,11 +22,13 @@
#include <gtsam/geometry/Rot3.h>
#include <gtsam/base/Testable.h>
#include <gtsam/base/numericalDerivative.h>
#include <gtsam/base/serializationTestHelpers.h>
#include <CppUnitLite/TestHarness.h>
#include <boost/bind.hpp>
#include <boost/foreach.hpp>
#include <boost/random.hpp>
//#include <boost/thread.hpp>
#include <boost/assign/std/vector.hpp>
#include <cmath>
@ -365,6 +367,14 @@ TEST (Unit3, FromPoint3) {
EXPECT(assert_equal(expectedH, actualH, 1e-8));
}
/* ************************************************************************* */
TEST(actualH, Serialization) {
Unit3 p(0, 1, 0);
EXPECT(serializationTestHelpers::equalsObj(p));
EXPECT(serializationTestHelpers::equalsXML(p));
EXPECT(serializationTestHelpers::equalsBinary(p));
}
/* ************************************************************************* */
int main() {
srand(time(NULL));