OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
cereal Namespace Reference

External Cereal serialization of ExPolygons. More...

Classes

struct  specialize< Archive, Slic3r::ModelVolume, cereal::specialization::member_load_save >
struct  specialize< Archive, Slic3r::Model, cereal::specialization::member_load_save >
struct  specialize< Archive, Slic3r::ModelObject, cereal::specialization::member_load_save >
struct  specialize< Archive, Slic3r::ModelConfigObject, cereal::specialization::member_serialize >
struct  specialize< Archive, Slic3r::DynamicPrintConfig, cereal::specialization::non_member_load_save >
struct  specialize< Archive, Slic3r::TriangleMesh, cereal::specialization::non_member_load_save >
struct  specialize< Archive, Slic3r::GUI::GLGizmosManager, cereal::specialization::member_load_save >
struct  specialize< Archive, Slic3r::GUI::PartPlate, cereal::specialization::member_load_save >
struct  specialize< Archive, Slic3r::Model *, cereal::specialization::non_member_load_save >
struct  specialize< Archive, Slic3r::ModelObject *, cereal::specialization::non_member_load_save >
struct  specialize< Archive, Slic3r::ModelVolume *, cereal::specialization::non_member_load_save >
struct  specialize< Archive, Slic3r::ModelInstance *, cereal::specialization::non_member_load_save >
struct  specialize< Archive, Slic3r::ModelMaterial *, cereal::specialization::non_member_load_save >
struct  specialize< Archive, std::shared_ptr< Slic3r::TriangleMesh >, cereal::specialization::non_member_load_save >
struct  specialize< Archive, Slic3r::GUI::PartPlate *, cereal::specialization::non_member_load_save >

Functions

template<class Archive>
void serialize (Archive &archive, Slic3r::BoundingBox &bb)
template<class Archive>
void serialize (Archive &archive, Slic3r::BoundingBox3 &bb)
template<class Archive>
void serialize (Archive &archive, Slic3r::BoundingBoxf &bb)
template<class Archive>
void serialize (Archive &archive, Slic3r::BoundingBoxf3 &bb)
template<class Archive>
void serialize (Archive &ar, Slic3r::ExPolygonsWithId &o)
template<class Archive>
void serialize (Archive &ar, Slic3r::HealedExPolygons &o)
template<class Archive>
void serialize (Archive &archive, Slic3r::Polygon &polygon)
template<class Archive>
void serialize (Archive &archive, Slic3r::ExPolygon &expoly)
template<class T>
void load_optional (BinaryInputArchive &ar, std::shared_ptr< const T > &ptr)
template<class T>
void save_optional (BinaryOutputArchive &ar, const std::shared_ptr< const T > &ptr)
template<class T>
void load_by_value (BinaryInputArchive &ar, T &obj)
template<class T>
void save_by_value (BinaryOutputArchive &ar, const T &obj)
template<class Archive>
void serialize (Archive &archive, Slic3r::Vec2i32 &v)
template<class Archive>
void serialize (Archive &archive, Slic3r::Vec3i32 &v)
template<class Archive>
void serialize (Archive &archive, Slic3r::Vec2i64 &v)
template<class Archive>
void serialize (Archive &archive, Slic3r::Vec3i64 &v)
template<class Archive>
void serialize (Archive &archive, Slic3r::Vec2f &v)
template<class Archive>
void serialize (Archive &archive, Slic3r::Vec3f &v)
template<class Archive>
void serialize (Archive &archive, Slic3r::Vec2d &v)
template<class Archive>
void serialize (Archive &archive, Slic3r::Vec3d &v)
template<class Archive>
void load (Archive &archive, Slic3r::Matrix2f &m)
template<class Archive>
void save (Archive &archive, Slic3r::Matrix2f &m)
template<class Archive>
void load (Archive &archive, Slic3r::Transform3d &m)
template<class Archive>
void save (Archive &archive, const Slic3r::Transform3d &m)
template<class Archive>
void load (Archive &archive, Slic3r::DynamicPrintConfig &config)
template<class Archive>
void save (Archive &archive, const Slic3r::DynamicPrintConfig &config)
template<class Archive>
void serialize (Archive &archive, Slic3r::t_layer_height_range &lhr)
template<class Archive>
void load (Archive &archive, Slic3r::TriangleMesh &mesh)
template<class Archive>
void save (Archive &archive, const Slic3r::TriangleMesh &mesh)
template<class T>
void save (BinaryOutputArchive &ar, T *const &ptr)
template<class T>
void load (BinaryInputArchive &ar, T *&ptr)
template<class T>
void save (BinaryOutputArchive &ar, const std::unique_ptr< T > &ptr)
template<class T>
void load (BinaryInputArchive &ar, std::unique_ptr< T > &ptr)
template<class T>
void save (BinaryOutputArchive &ar, const std::shared_ptr< const T > &ptr)
template<class T>
void load (BinaryInputArchive &ar, std::shared_ptr< const T > &ptr)

Detailed Description

External Cereal serialization of ExPolygons.


Class Documentation

◆ cereal::specialize< Archive, Slic3r::ModelVolume, cereal::specialization::member_load_save >

struct cereal::specialize< Archive, Slic3r::ModelVolume, cereal::specialization::member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::ModelVolume, cereal::specialization::member_load_save >

◆ cereal::specialize< Archive, Slic3r::Model, cereal::specialization::member_load_save >

struct cereal::specialize< Archive, Slic3r::Model, cereal::specialization::member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::Model, cereal::specialization::member_load_save >

◆ cereal::specialize< Archive, Slic3r::ModelObject, cereal::specialization::member_load_save >

struct cereal::specialize< Archive, Slic3r::ModelObject, cereal::specialization::member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::ModelObject, cereal::specialization::member_load_save >

◆ cereal::specialize< Archive, Slic3r::ModelConfigObject, cereal::specialization::member_serialize >

struct cereal::specialize< Archive, Slic3r::ModelConfigObject, cereal::specialization::member_serialize >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::ModelConfigObject, cereal::specialization::member_serialize >

◆ cereal::specialize< Archive, Slic3r::DynamicPrintConfig, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, Slic3r::DynamicPrintConfig, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::DynamicPrintConfig, cereal::specialization::non_member_load_save >

◆ cereal::specialize< Archive, Slic3r::TriangleMesh, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, Slic3r::TriangleMesh, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::TriangleMesh, cereal::specialization::non_member_load_save >

◆ cereal::specialize< Archive, Slic3r::GUI::GLGizmosManager, cereal::specialization::member_load_save >

struct cereal::specialize< Archive, Slic3r::GUI::GLGizmosManager, cereal::specialization::member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::GUI::GLGizmosManager, cereal::specialization::member_load_save >

◆ cereal::specialize< Archive, Slic3r::GUI::PartPlate, cereal::specialization::member_load_save >

struct cereal::specialize< Archive, Slic3r::GUI::PartPlate, cereal::specialization::member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::GUI::PartPlate, cereal::specialization::member_load_save >

◆ cereal::specialize< Archive, Slic3r::Model *, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, Slic3r::Model *, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::Model *, cereal::specialization::non_member_load_save >

◆ cereal::specialize< Archive, Slic3r::ModelObject *, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, Slic3r::ModelObject *, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::ModelObject *, cereal::specialization::non_member_load_save >

◆ cereal::specialize< Archive, Slic3r::ModelVolume *, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, Slic3r::ModelVolume *, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::ModelVolume *, cereal::specialization::non_member_load_save >

◆ cereal::specialize< Archive, Slic3r::ModelInstance *, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, Slic3r::ModelInstance *, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::ModelInstance *, cereal::specialization::non_member_load_save >

◆ cereal::specialize< Archive, Slic3r::ModelMaterial *, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, Slic3r::ModelMaterial *, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::ModelMaterial *, cereal::specialization::non_member_load_save >

◆ cereal::specialize< Archive, std::shared_ptr< Slic3r::TriangleMesh >, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, std::shared_ptr< Slic3r::TriangleMesh >, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, std::shared_ptr< Slic3r::TriangleMesh >, cereal::specialization::non_member_load_save >

◆ cereal::specialize< Archive, Slic3r::GUI::PartPlate *, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, Slic3r::GUI::PartPlate *, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::GUI::PartPlate *, cereal::specialization::non_member_load_save >

Function Documentation

◆ load() [1/7]

template<class Archive>
void cereal::load ( Archive & archive,
Slic3r::DynamicPrintConfig & config )
2770 {
2771 size_t cnt;
2772 archive(cnt);
2773 config.clear();
2774 for (size_t i = 0; i < cnt; ++ i) {
2775 size_t serialization_key_ordinal;
2776 archive(serialization_key_ordinal);
2777 assert(serialization_key_ordinal > 0);
2778 auto it = Slic3r::print_config_def.by_serialization_key_ordinal.find(serialization_key_ordinal);
2779 if (it == Slic3r::print_config_def.by_serialization_key_ordinal.end())
2780 throw std::runtime_error("VendorCache: unknown serialization_key_ordinal " + std::to_string(serialization_key_ordinal) + " - cache is stale");
2781 config.set_key_value(it->second->opt_key, it->second->load_option_from_archive(archive));
2782 }
2783 }
void clear()
Definition Config.hpp:2987
bool set_key_value(const std::string &opt_key, ConfigOption *opt)
Definition Config.hpp:3022
const PrintConfigDef print_config_def
Definition PrintConfig.cpp:10099

References Slic3r::DynamicConfig::clear(), Slic3r::print_config_def, and Slic3r::DynamicConfig::set_key_value().

Here is the call graph for this function:

◆ load() [2/7]

template<class Archive>
void cereal::load ( Archive & archive,
Slic3r::Matrix2f & m )
828{ archive.loadBinary((char*)m.data(), sizeof(float) * 4); }

Referenced by Slic3r::EmbossShape::load(), Slic3r::FontProp::load(), and Slic3r::ModelVolume::load().

Here is the caller graph for this function:

◆ load() [3/7]

template<class Archive>
void cereal::load ( Archive & archive,
Slic3r::Transform3d & m )
831{ archive.loadBinary((char *) m.data(), sizeof(double) * 16); }

◆ load() [4/7]

template<class Archive>
void cereal::load ( Archive & archive,
Slic3r::TriangleMesh & mesh )
413 {
414 archive.loadBinary(reinterpret_cast<char*>(const_cast<Slic3r::TriangleMeshStats*>(&mesh.stats())), sizeof(Slic3r::TriangleMeshStats));
415 archive(mesh.its.indices, mesh.its.vertices);
416 }
indexed_triangle_set its
Definition TriangleMesh.hpp:164
const TriangleMeshStats & stats() const
Definition TriangleMesh.hpp:159
Definition TriangleMesh.hpp:53

References Slic3r::TriangleMesh::its, and Slic3r::TriangleMesh::stats().

Here is the call graph for this function:

◆ load() [5/7]

template<class T>
void cereal::load ( BinaryInputArchive & ar,
std::shared_ptr< const T > & ptr )
802 {
803 Slic3r::UndoRedo::StackImpl &stack = cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar);
804 size_t id;
805 ar(id);
806 ptr = stack.load_immutable_object<T>(Slic3r::ObjectID(id), false);
807 }
Definition ObjectID.hpp:23
Definition UndoRedo.cpp:557
std::shared_ptr< const T > load_immutable_object(const Slic3r::ObjectID id, bool optional)
Definition UndoRedo.cpp:900

References Slic3r::UndoRedo::StackImpl::load_immutable_object().

Here is the call graph for this function:

◆ load() [6/7]

template<class T>
void cereal::load ( BinaryInputArchive & ar,
std::unique_ptr< T > & ptr )
765 {
766 Slic3r::UndoRedo::StackImpl& stack = cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar);
767 size_t id;
768 ar(id);
769 ptr.reset(stack.load_mutable_object<T>(Slic3r::ObjectID(id)));
770 }
T * load_mutable_object(const Slic3r::ObjectID id)
Definition UndoRedo.cpp:885

References Slic3r::UndoRedo::StackImpl::load_mutable_object().

Here is the call graph for this function:

◆ load() [7/7]

template<class T>
void cereal::load ( BinaryInputArchive & ar,
T *& ptr )
748 {
749 Slic3r::UndoRedo::StackImpl& stack = cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar);
750 size_t id;
751 ar(id);
752 ptr = stack.load_mutable_object<T>(Slic3r::ObjectID(id));
753 }

References Slic3r::UndoRedo::StackImpl::load_mutable_object().

Here is the call graph for this function:

◆ load_by_value()

template<class T>
void cereal::load_by_value ( BinaryInputArchive & ar,
T & obj )
781 {
782 Slic3r::UndoRedo::StackImpl& stack = cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar);
783 size_t id;
784 ar(id);
785 stack.load_mutable_object<T>(Slic3r::ObjectID(id), cfg);
786 }

References Slic3r::UndoRedo::StackImpl::load_mutable_object().

Referenced by Slic3r::Internal::StaticSerializationWrapper< T >::load(), and Slic3r::ModelVolume::load().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ load_optional()

template<class T>
void cereal::load_optional ( BinaryInputArchive & ar,
std::shared_ptr< const T > & ptr )
809 {
810 Slic3r::UndoRedo::StackImpl &stack = cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar);
811 size_t id;
812 ar(id);
813 ptr = stack.load_immutable_object<T>(Slic3r::ObjectID(id), true);
814 }

References Slic3r::UndoRedo::StackImpl::load_immutable_object().

Referenced by Slic3r::ModelVolume::load().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ save() [1/7]

template<class Archive>
void cereal::save ( Archive & archive,
const Slic3r::DynamicPrintConfig & config )
2786 {
2787 size_t cnt = config.size();
2788 archive(cnt);
2789 for (auto it = config.cbegin(); it != config.cend(); ++it) {
2790 const Slic3r::ConfigOptionDef* optdef = Slic3r::print_config_def.get(it->first);
2791 assert(optdef != nullptr);
2792 assert(optdef->serialization_key_ordinal > 0);
2793 archive(optdef->serialization_key_ordinal);
2794 optdef->save_option_to_archive(archive, it->second.get());
2795 }
2796 }
Definition Config.hpp:2316
size_t serialization_key_ordinal
Definition Config.hpp:2629
ConfigOption * save_option_to_archive(Archive &archive, const ConfigOption *opt) const
Definition Config.hpp:2502
std::map< t_config_option_key, std::unique_ptr< ConfigOption > >::const_iterator cbegin() const
Definition Config.hpp:3080
std::map< t_config_option_key, std::unique_ptr< ConfigOption > >::const_iterator cend() const
Definition Config.hpp:3081
size_t size() const
Definition Config.hpp:3082

References Slic3r::DynamicConfig::cbegin(), Slic3r::DynamicConfig::cend(), Slic3r::print_config_def, Slic3r::ConfigOptionDef::save_option_to_archive(), Slic3r::ConfigOptionDef::serialization_key_ordinal, and Slic3r::DynamicConfig::size().

Here is the call graph for this function:

◆ save() [2/7]

template<class Archive>
void cereal::save ( Archive & archive,
const Slic3r::Transform3d & m )
832{ archive.saveBinary((char *) m.data(), sizeof(double) * 16); }

◆ save() [3/7]

template<class Archive>
void cereal::save ( Archive & archive,
const Slic3r::TriangleMesh & mesh )
417 {
418 archive.saveBinary(reinterpret_cast<const char*>(&mesh.stats()), sizeof(Slic3r::TriangleMeshStats));
419 archive(mesh.its.indices, mesh.its.vertices);
420 }

References Slic3r::TriangleMesh::its, and Slic3r::TriangleMesh::stats().

Here is the call graph for this function:

◆ save() [4/7]

template<class Archive>
void cereal::save ( Archive & archive,
Slic3r::Matrix2f & m )
829{ archive.saveBinary((char*)m.data(), sizeof(float) * 4); }

Referenced by Slic3r::EmbossShape::save(), Slic3r::FontProp::save(), and Slic3r::ModelVolume::save().

Here is the caller graph for this function:

◆ save() [5/7]

template<class T>
void cereal::save ( BinaryOutputArchive & ar,
const std::shared_ptr< const T > & ptr )
791 {
792 ar(cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar).save_immutable_object<T>(const_cast<std::shared_ptr<const T>&>(ptr), false));
793 }

◆ save() [6/7]

template<class T>
void cereal::save ( BinaryOutputArchive & ar,
const std::unique_ptr< T > & ptr )
758 {
759 ar(cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar).save_mutable_object<T>(*ptr.get()));
760 }

◆ save() [7/7]

template<class T>
void cereal::save ( BinaryOutputArchive & ar,
T *const & ptr )
741 {
742 ar(cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar).save_mutable_object<T>(*ptr));
743 }

◆ save_by_value()

template<class T>
void cereal::save_by_value ( BinaryOutputArchive & ar,
const T & obj )
775 {
776 ar(cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar).save_mutable_object<T>(cfg));
777 }

Referenced by Slic3r::Internal::StaticSerializationWrapper< T >::save(), and Slic3r::ModelVolume::save().

Here is the caller graph for this function:

◆ save_optional()

template<class T>
void cereal::save_optional ( BinaryOutputArchive & ar,
const std::shared_ptr< const T > & ptr )
795 {
796 ar(cereal::get_user_data<Slic3r::UndoRedo::StackImpl>(ar).save_immutable_object<T>(const_cast<std::shared_ptr<const T>&>(ptr), true));
797 }

Referenced by Slic3r::ModelVolume::save().

Here is the caller graph for this function:

◆ serialize() [1/17]

template<class Archive>
void cereal::serialize ( Archive & ar,
Slic3r::ExPolygonsWithId & o )
141{ ar(o.id, o.expoly, o.is_healed); }
unsigned id
Definition EmbossShape.hpp:51
ExPolygons expoly
Definition EmbossShape.hpp:55
bool is_healed
Definition EmbossShape.hpp:58

References Slic3r::ExPolygonsWithId::expoly, Slic3r::ExPolygonsWithId::id, and Slic3r::ExPolygonsWithId::is_healed.

◆ serialize() [2/17]

template<class Archive>
void cereal::serialize ( Archive & ar,
Slic3r::HealedExPolygons & o )
142{ ar(o.expolygons, o.is_healed); }
ExPolygons expolygons
Definition EmbossShape.hpp:39
bool is_healed
Definition EmbossShape.hpp:40

References Slic3r::HealedExPolygons::expolygons, and Slic3r::HealedExPolygons::is_healed.

◆ serialize() [3/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::BoundingBox & bb )
316{ archive(bb.min, bb.max, bb.defined); }
PointType max
Definition BoundingBox.hpp:21
bool defined
Definition BoundingBox.hpp:22
PointType min
Definition BoundingBox.hpp:20

References Slic3r::BoundingBoxBase< PointType, APointsType >::defined, Slic3r::BoundingBoxBase< PointType, APointsType >::max, and Slic3r::BoundingBoxBase< PointType, APointsType >::min.

◆ serialize() [4/17]

◆ serialize() [5/17]

◆ serialize() [6/17]

◆ serialize() [7/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::ExPolygon & expoly )
24 {
25 archive(expoly.contour, expoly.holes);
26}
Polygon contour
Definition ExPolygon.hpp:42
Polygons holes
Definition ExPolygon.hpp:43

References Slic3r::ExPolygon::contour, and Slic3r::ExPolygon::holes.

◆ serialize() [8/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::Polygon & polygon )
19 {
20 archive(polygon.points);
21}
Points points
Definition MultiPoint.hpp:22

References Slic3r::MultiPoint::points.

◆ serialize() [9/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::t_layer_height_range & lhr )
233{ archive(lhr.first, lhr.second); }

◆ serialize() [10/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::Vec2d & v )
825{ archive(v.x(), v.y()); }

◆ serialize() [11/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::Vec2f & v )
823{ archive(v.x(), v.y()); }

◆ serialize() [12/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::Vec2i32 & v )
819{ archive(v.x(), v.y()); }

◆ serialize() [13/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::Vec2i64 & v )
821{ archive(v.x(), v.y()); }

◆ serialize() [14/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::Vec3d & v )
826{ archive(v.x(), v.y(), v.z()); }

◆ serialize() [15/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::Vec3f & v )
824{ archive(v.x(), v.y(), v.z()); }

◆ serialize() [16/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::Vec3i32 & v )
820{ archive(v.x(), v.y(), v.z()); }

◆ serialize() [17/17]

template<class Archive>
void cereal::serialize ( Archive & archive,
Slic3r::Vec3i64 & v )
822{ archive(v.x(), v.y(), v.z()); }