Added default constructor and Serialization

release/4.3a0
Manohar Paluri 2009-11-16 23:49:04 +00:00
parent 20830a1534
commit 256c094039
2 changed files with 64 additions and 38 deletions

View File

@ -12,6 +12,15 @@
using namespace std;
namespace gtsam{
/* ************************************************************************* */
VSLAMFactor::VSLAMFactor() {
/// Arbitrary values
cameraFrameNumber_ = 111;
landmarkNumber_ = 222;
cameraFrameName_ = symbol('x',cameraFrameNumber_);
landmarkName_ = symbol('l',landmarkNumber_);
K_ = Cal3_S2(444,555,666,777,888);
}
/* ************************************************************************* */
VSLAMFactor::VSLAMFactor(const Point2& z, double sigma, int cn, int ln, const Cal3_S2 &K)
: NonlinearFactor<VSLAMConfig>(z.vector(), sigma)

View File

@ -32,6 +32,11 @@ class VSLAMFactor : public NonlinearFactor<VSLAMConfig>, Testable<VSLAMFactor>
typedef boost::shared_ptr<VSLAMFactor> shared_ptr; // shorthand for a smart pointer to a factor
/**
* Default constructor
*/
VSLAMFactor();
/**
* Constructor
* @param z is the 2 dimensional location of point in image (the measurement)
@ -71,6 +76,18 @@ class VSLAMFactor : public NonlinearFactor<VSLAMConfig>, Testable<VSLAMFactor>
int getCameraFrameNumber() const { return cameraFrameNumber_; }
int getLandmarkNumber() const { return landmarkNumber_; }
private:
/** Serialization function */
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int version) {
ar & BOOST_SERIALIZATION_NVP(cameraFrameNumber_);
ar & BOOST_SERIALIZATION_NVP(landmarkNumber_);
ar & BOOST_SERIALIZATION_NVP(cameraFrameName_);
ar & BOOST_SERIALIZATION_NVP(landmarkName_);
ar & BOOST_SERIALIZATION_NVP(K_);
}
};
}