fixing xml serialization issues

release/4.3a0
Ayush Baid 2021-01-04 00:02:21 +05:30
parent c46e3dbee6
commit e0cda60b9b
2 changed files with 86 additions and 86 deletions

View File

@ -29,11 +29,10 @@
#include <gtsam/nonlinear/NonlinearFactorGraph.h>
#include <gtsam/nonlinear/Values.h>
#include <gtsam/linear/NoiseModel.h>
#include <gtsam/base/serialization.h>
#include <gtsam/base/Testable.h>
#include <gtsam/base/types.h>
#include <boost/serialization/vector.hpp>
#include <boost/smart_ptr/shared_ptr.hpp>
#include <string>
#include <utility> // for pair
@ -218,7 +217,8 @@ typedef std::pair<size_t, Point2> SfmMeasurement;
typedef std::pair<size_t, size_t> SiftIndex;
/// Define the structure for the 3D points
struct SfmTrack {
class GTSAM_EXPORT SfmTrack {
public:
SfmTrack(): p(0,0,0) {}
SfmTrack(const gtsam::Point3& pt) : p(pt) {}
Point3 p; ///< 3D position of the point
@ -251,12 +251,12 @@ struct SfmTrack {
friend class boost::serialization::access;
template<class ARCHIVE>
void serialize(ARCHIVE & ar, const unsigned int /*version*/) {
ar & p;
ar & r;
ar & g;
ar & b;
ar & measurements;
ar & siftIndices;
ar & BOOST_SERIALIZATION_NVP(p);
ar & BOOST_SERIALIZATION_NVP(r);
ar & BOOST_SERIALIZATION_NVP(g);
ar & BOOST_SERIALIZATION_NVP(b);
ar & BOOST_SERIALIZATION_NVP(measurements);
ar & BOOST_SERIALIZATION_NVP(siftIndices);
}
/// assert equality up to a tolerance
@ -350,8 +350,8 @@ struct SfmData {
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int /*version*/) {
ar & cameras;
ar & tracks;
ar & BOOST_SERIALIZATION_NVP(cameras);
ar & BOOST_SERIALIZATION_NVP(tracks);
}
/// @}

View File

@ -33,8 +33,8 @@ TEST(dataSet, sfmDataSerialization){
CHECK(readBAL(filename, mydata));
EXPECT(equalsObj(mydata));
// EXPECT(equalsXML(mydata));
// EXPECT(equalsBinary(mydata));
EXPECT(equalsXML(mydata));
EXPECT(equalsBinary(mydata));
}
/* ************************************************************************* */
@ -47,8 +47,8 @@ TEST(dataSet, sfmTrackSerialization){
SfmTrack track = mydata.track(0);
EXPECT(equalsObj(track));
// EXPECT(equalsXML(track));
// EXPECT(equalsBinary(track));
EXPECT(equalsXML(track));
EXPECT(equalsBinary(track));
}
/* ************************************************************************* */