Skip to content

Commit df579ec

Browse files
Fix serialization of ISAM2 class
1 parent cd3854a commit df579ec

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

gtsam/inference/VariableIndex.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,16 @@ class GTSAM_EXPORT VariableIndex {
182182
return item->second;
183183
}
184184

185+
private:
186+
/** Serialization function */
187+
friend class boost::serialization::access;
188+
template<class ARCHIVE>
189+
void serialize(ARCHIVE & ar, const unsigned int /*version*/) {
190+
ar & BOOST_SERIALIZATION_NVP(index_);
191+
ar & BOOST_SERIALIZATION_NVP(nFactors_);
192+
ar & BOOST_SERIALIZATION_NVP(nEntries_);
193+
}
194+
185195
/// @}
186196
};
187197

gtsam/nonlinear/ISAM2.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,26 @@ class GTSAM_EXPORT ISAM2 : public BayesTree<ISAM2Clique> {
315315
void removeVariables(const KeySet& unusedKeys);
316316

317317
void updateDelta(bool forceFullSolve = false) const;
318+
319+
private:
320+
/** Serialization function */
321+
friend class boost::serialization::access;
322+
template<class ARCHIVE>
323+
void serialize(ARCHIVE & ar, const unsigned int /*version*/) {
324+
ar & boost::serialization::base_object<BayesTree<ISAM2Clique> >(*this);
325+
ar & BOOST_SERIALIZATION_NVP(theta_);
326+
ar & BOOST_SERIALIZATION_NVP(variableIndex_);
327+
ar & BOOST_SERIALIZATION_NVP(delta_);
328+
ar & BOOST_SERIALIZATION_NVP(deltaNewton_);
329+
ar & BOOST_SERIALIZATION_NVP(RgProd_);
330+
ar & BOOST_SERIALIZATION_NVP(deltaReplacedMask_);
331+
ar & BOOST_SERIALIZATION_NVP(nonlinearFactors_);
332+
ar & BOOST_SERIALIZATION_NVP(linearFactors_);
333+
ar & BOOST_SERIALIZATION_NVP(doglegDelta_);
334+
ar & BOOST_SERIALIZATION_NVP(fixedVariables_);
335+
ar & BOOST_SERIALIZATION_NVP(update_count_);
336+
}
337+
318338
}; // ISAM2
319339

320340
/// traits

0 commit comments

Comments
 (0)