Add cereal include
+ simplify load/save to serialize
This commit is contained in:
parent
0b798267d6
commit
8f4b799ddb
1 changed files with 2 additions and 7 deletions
|
@ -540,6 +540,7 @@ namespace boost { namespace polygon {
|
||||||
} }
|
} }
|
||||||
// end Boost
|
// end Boost
|
||||||
|
|
||||||
|
#include <cereal/cereal.hpp>
|
||||||
// Serialization through the Cereal library
|
// Serialization through the Cereal library
|
||||||
namespace cereal {
|
namespace cereal {
|
||||||
// template<class Archive> void serialize(Archive& archive, Slic3r::Vec2crd &v) { archive(v.x(), v.y()); }
|
// template<class Archive> void serialize(Archive& archive, Slic3r::Vec2crd &v) { archive(v.x(), v.y()); }
|
||||||
|
@ -554,16 +555,10 @@ namespace cereal {
|
||||||
template<class Archive> void serialize(Archive& archive, Slic3r::Vec3d &v) { archive(v.x(), v.y(), v.z()); }
|
template<class Archive> void serialize(Archive& archive, Slic3r::Vec3d &v) { archive(v.x(), v.y(), v.z()); }
|
||||||
|
|
||||||
template<class Archive> void serialize(Archive& archive, Slic3r::Matrix4d &m){ archive(binary_data(m.data(), 4*4*sizeof(double))); }
|
template<class Archive> void serialize(Archive& archive, Slic3r::Matrix4d &m){ archive(binary_data(m.data(), 4*4*sizeof(double))); }
|
||||||
template<class Archive> void load(Archive& archive, Slic3r::Matrix2f &m) { archive.loadBinary((char*)m.data(), sizeof(float) * 4); }
|
template<class Archive> void serialize(Archive& archive, Slic3r::Matrix2f &m){ archive(binary_data(m.data(), 2*2*sizeof(float))); }
|
||||||
template<class Archive> void save(Archive& archive, Slic3r::Matrix2f &m) { archive.saveBinary((char*)m.data(), sizeof(float) * 4); }
|
|
||||||
|
|
||||||
// Eigen Transformation serialization
|
// Eigen Transformation serialization
|
||||||
template<class Archive, class T, int N> inline void serialize(Archive& archive, Eigen::Transform<T, N, Eigen::Affine, Eigen::DontAlign>& t){ archive(t.matrix()); }
|
template<class Archive, class T, int N> inline void serialize(Archive& archive, Eigen::Transform<T, N, Eigen::Affine, Eigen::DontAlign>& t){ archive(t.matrix()); }
|
||||||
|
|
||||||
#if ENABLE_WORLD_COORDINATE
|
|
||||||
//template<class Archive> void load(Archive& archive, Slic3r::Transform3d& m) { archive.loadBinary((char*)m.data(), sizeof(double) * 16); }
|
|
||||||
//template<class Archive> void save(Archive& archive, const Slic3r::Transform3d& m) { archive.saveBinary((char*)m.data(), sizeof(double) * 16); }
|
|
||||||
#endif // ENABLE_WORLD_COORDINATE
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// To be able to use Vec<> and Mat<> in range based for loops:
|
// To be able to use Vec<> and Mat<> in range based for loops:
|
||||||
|
|
Loading…
Reference in a new issue