OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
UndoRedo.cpp File Reference
#include "UndoRedo.hpp"
#include <algorithm>
#include <cstring>
#include <cstdint>
#include <cereal/specialize.hpp>
#include <boost/log/trivial.hpp>
#include <iostream>
#include <fstream>
#include <map>
#include "libslic3r/Exception.hpp"
#include <memory>
#include <string>
#include <sstream>
#include <type_traits>
#include <typeinfo>
#include <cassert>
#include <cstddef>
#include <cereal/types/polymorphic.hpp>
#include <cereal/types/map.hpp>
#include <cereal/types/string.hpp>
#include <cereal/types/utility.hpp>
#include <cereal/types/vector.hpp>
#include <cereal/archives/binary.hpp>
#include <vector>
#include <utility>
#include <cereal/archives/adapters.hpp>
#include <libslic3r/ObjectID.hpp>
#include <libslic3r/Utils.hpp>
#include "slic3r/GUI/3DScene.hpp"
#include <boost/foreach.hpp>
#include <libslic3r/Model.hpp>
#include <slic3r/GUI/Selection.hpp>
#include <slic3r/GUI/Gizmos/GLGizmosManager.hpp>
#include "slic3r/GUI/GUI_App.hpp"
#include "slic3r/GUI/PartPlate.hpp"
#include "slic3r/GUI/Plater.hpp"
Include dependency graph for UndoRedo.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::UndoRedo::Interval
class  Slic3r::UndoRedo::ObjectHistoryBase
class  Slic3r::UndoRedo::ObjectHistory< T >
class  Slic3r::UndoRedo::ImmutableObjectHistory< T >
struct  Slic3r::UndoRedo::MutableHistoryInterval
struct  Slic3r::UndoRedo::MutableHistoryInterval::Data
class  Slic3r::UndoRedo::MutableObjectHistory< T >
class  Slic3r::UndoRedo::StackImpl
struct  cereal::specialize< Archive, Slic3r::Model *, cereal::specialization::non_member_load_save >
struct  cereal::specialize< Archive, Slic3r::ModelObject *, cereal::specialization::non_member_load_save >
struct  cereal::specialize< Archive, Slic3r::ModelVolume *, cereal::specialization::non_member_load_save >
struct  cereal::specialize< Archive, Slic3r::ModelInstance *, cereal::specialization::non_member_load_save >
struct  cereal::specialize< Archive, Slic3r::ModelMaterial *, cereal::specialization::non_member_load_save >
struct  cereal::specialize< Archive, std::shared_ptr< Slic3r::TriangleMesh >, cereal::specialization::non_member_load_save >
struct  cereal::specialize< Archive, Slic3r::GUI::PartPlate *, cereal::specialization::non_member_load_save >

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::UndoRedo
namespace  cereal
 External Cereal serialization of ExPolygons.

Macros

#define CEREAL_FUTURE_EXPERIMENTAL
#define UNDO_REDO_DEBUG_LOW_MEM_FACTOR   1

Typedefs

using Slic3r::UndoRedo::InputArchive = cereal::UserDataAdapter<StackImpl, cereal::BinaryInputArchive>
using Slic3r::UndoRedo::OutputArchive = cereal::UserDataAdapter<StackImpl, cereal::BinaryOutputArchive>

Functions

template<class T>
void cereal::save (BinaryOutputArchive &ar, T *const &ptr)
template<class T>
void cereal::load (BinaryInputArchive &ar, T *&ptr)
template<class T>
void cereal::save (BinaryOutputArchive &ar, const std::unique_ptr< T > &ptr)
template<class T>
void cereal::load (BinaryInputArchive &ar, std::unique_ptr< T > &ptr)
template<class T>
void cereal::save_by_value (BinaryOutputArchive &ar, const T &obj)
template<class T>
void cereal::load_by_value (BinaryInputArchive &ar, T &obj)
template<class T>
void cereal::save (BinaryOutputArchive &ar, const std::shared_ptr< const T > &ptr)
template<class T>
void cereal::save_optional (BinaryOutputArchive &ar, const std::shared_ptr< const T > &ptr)
template<class T>
void cereal::load (BinaryInputArchive &ar, std::shared_ptr< const T > &ptr)
template<class T>
void cereal::load_optional (BinaryInputArchive &ar, std::shared_ptr< const T > &ptr)

Variables

static std::string Slic3r::UndoRedo::topmost_snapshot_name = "@@@ Topmost @@@"

Class Documentation

◆ 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 >

Macro Definition Documentation

◆ CEREAL_FUTURE_EXPERIMENTAL

#define CEREAL_FUTURE_EXPERIMENTAL

◆ UNDO_REDO_DEBUG_LOW_MEM_FACTOR

#define UNDO_REDO_DEBUG_LOW_MEM_FACTOR   1