Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Slic3r::CutObjectBase Class Reference

#include <src/libslic3r/ObjectID.hpp>

+ Inheritance diagram for Slic3r::CutObjectBase:
+ Collaboration diagram for Slic3r::CutObjectBase:

Public Types

using Timestamp = uint64_t
 

Public Member Functions

 CutObjectBase ()
 
 CutObjectBase (int)
 
 CutObjectBase (ObjectID id, size_t check_sum, size_t connectors_cnt)
 
virtual ~CutObjectBase ()=default
 
bool operator< (const CutObjectBase &other) const
 
bool operator== (const CutObjectBase &other) const
 
void copy (const CutObjectBase &rhs)
 
CutObjectBaseoperator= (const CutObjectBase &other)
 
void invalidate ()
 
void init ()
 
bool has_same_id (const CutObjectBase &rhs)
 
bool is_equal (const CutObjectBase &rhs)
 
size_t check_sum () const
 
void set_check_sum (size_t cs)
 
void increase_check_sum (size_t cnt)
 
size_t connectors_cnt () const
 
void increase_connectors_cnt (size_t connectors_cnt)
 
ObjectID id () const
 
virtual Timestamp timestamp () const
 

Protected Member Functions

void set_new_unique_id ()
 
void set_invalid_id ()
 
void copy_id (const ObjectBase &rhs)
 
virtual void assign_new_unique_ids_recursive ()
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar)
 

Static Private Member Functions

static ObjectID generate_new_id ()
 
template<class Archive >
static void load_and_construct (Archive &ar, cereal::construct< ObjectBase > &construct)
 

Private Attributes

size_t m_check_sum { 1 }
 
size_t m_connectors_cnt { 0 }
 
ObjectID m_id
 

Static Private Attributes

static size_t s_last_id = 0
 

Friends

class cereal::access
 

Detailed Description

Member Typedef Documentation

◆ Timestamp

Constructor & Destructor Documentation

◆ CutObjectBase() [1/3]

Slic3r::CutObjectBase::CutObjectBase ( )
inline
143: ObjectBase(-1) {}
ObjectBase()
Definition ObjectID.hpp:65

◆ CutObjectBase() [2/3]

Slic3r::CutObjectBase::CutObjectBase ( int  )
inline
146: ObjectBase(-1) {}

◆ CutObjectBase() [3/3]

Slic3r::CutObjectBase::CutObjectBase ( ObjectID  id,
size_t  check_sum,
size_t  connectors_cnt 
)
inline
size_t check_sum() const
Definition ObjectID.hpp:177
size_t connectors_cnt() const
Definition ObjectID.hpp:181
size_t m_check_sum
Definition ObjectID.hpp:137
size_t m_connectors_cnt
Definition ObjectID.hpp:139

◆ ~CutObjectBase()

virtual Slic3r::CutObjectBase::~CutObjectBase ( )
virtualdefault

Member Function Documentation

◆ assign_new_unique_ids_recursive()

virtual void Slic3r::ObjectBase::assign_new_unique_ids_recursive ( )
inlineprotectedvirtualinherited

Reimplemented in Slic3r::Model, Slic3r::ModelObject, and Slic3r::ModelVolume.

79{ this->set_new_unique_id(); }
void set_new_unique_id()
Definition ObjectID.hpp:73

References Slic3r::ObjectBase::set_new_unique_id().

+ Here is the call graph for this function:

◆ check_sum()

size_t Slic3r::CutObjectBase::check_sum ( ) const
inline
177{ return m_check_sum; }

References m_check_sum.

Referenced by copy(), and is_equal().

+ Here is the caller graph for this function:

◆ connectors_cnt()

size_t Slic3r::CutObjectBase::connectors_cnt ( ) const
inline
181{ return m_connectors_cnt; }

References m_connectors_cnt.

Referenced by copy(), increase_connectors_cnt(), and is_equal().

+ Here is the caller graph for this function:

◆ copy()

void Slic3r::CutObjectBase::copy ( const CutObjectBase rhs)
inline
155 {
156 this->copy_id(rhs);
157 this->m_check_sum = rhs.check_sum();
158 this->m_connectors_cnt = rhs.connectors_cnt() ;
159 }
void copy_id(const ObjectBase &rhs)
Definition ObjectID.hpp:76

References check_sum(), connectors_cnt(), Slic3r::ObjectBase::copy_id(), m_check_sum, and m_connectors_cnt.

Referenced by operator=().

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

◆ copy_id()

void Slic3r::ObjectBase::copy_id ( const ObjectBase rhs)
inlineprotectedinherited
76{ m_id = rhs.id(); }
ObjectID m_id
Definition ObjectID.hpp:82
size_t id
Definition ObjectID.hpp:37

References Slic3r::ObjectBase::id(), and Slic3r::ObjectBase::m_id.

Referenced by copy().

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

◆ generate_new_id()

static ObjectID Slic3r::ObjectBase::generate_new_id ( )
inlinestaticprivateinherited
84{ return ObjectID(++ s_last_id); }
static size_t s_last_id
Definition ObjectID.hpp:85

References Slic3r::ObjectBase::s_last_id.

Referenced by Slic3r::ObjectBase::set_new_unique_id().

+ Here is the caller graph for this function:

◆ has_same_id()

bool Slic3r::CutObjectBase::has_same_id ( const CutObjectBase rhs)
inline
172{ return this->id() == rhs.id(); }
ObjectID id() const
Definition ObjectID.hpp:55

References Slic3r::ObjectBase::id().

Referenced by Slic3r::GUI::ObjectList::fix_cut_selection().

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

◆ id()

ObjectID Slic3r::ObjectBase::id ( ) const
inlineinherited
55{ return m_id; }

References Slic3r::ObjectBase::m_id.

Referenced by Slic3r::Model::Model(), Slic3r::ModelInstance::ModelInstance(), Slic3r::ModelMaterial::ModelMaterial(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelVolume::ModelVolume(), Slic3r::ModelVolume::ModelVolume(), Slic3r::ModelVolume::ModelVolume(), Slic3r::_3MF_Importer::_load_model_from_file(), Slic3r::GUI::Plater::priv::actualize_slicing_warnings(), Slic3r::ModelObjectStatusDB::add(), Slic3r::ModelObjectStatusDB::add_if_new(), Slic3r::Print::apply(), Slic3r::SLAPrint::apply(), Slic3r::GUI::GLGizmoFdmSupports::apply_data_from_backend(), Slic3r::ModelVolume::check(), Slic3r::check_model_ids_equal(), Slic3r::ModelObject::convert_units(), Slic3r::ObjectBase::copy_id(), Slic3r::PrintObjectStatusDB::count(), anonymous_namespace{RaycastManager.cpp}::create_key(), priv::create_volume(), Slic3r::GUI::Emboss::create_volume_sources(), Slic3r::GUI::GLGizmoHollow::data_changed(), Slic3r::GUI::GLGizmoPainterBase::data_changed(), Slic3r::GUI::GLGizmoSlaSupports::data_changed(), Slic3r::Model::delete_object(), Slic3r::GUI::Plater::export_stl_obj(), Slic3r::ModelObjectStatusDB::get(), Slic3r::GUI::get_arrange_poly(), Slic3r::GUI::GLGizmoSlaSupports::get_data_from_backend(), Slic3r::PrintObjectStatusDB::get_range(), Slic3r::GUI::GLGizmoFdmSupports::has_backend_supports(), Slic3r::GUI::GLGizmoSlaSupports::has_backend_supports(), has_same_id(), Slic3r::UndoRedo::StackImpl::immutable_object_id_impl(), Slic3r::GUI::GLGizmoSimplify::init_model(), Slic3r::inner_brim_area(), Slic3r::ModelObject::is_cut(), is_equal(), Slic3r::ObjectBase::load_and_construct(), Slic3r::UndoRedo::StackImpl::load_snapshot(), Slic3r::GUI::ObjectList::merge(), Slic3r::model_property_changed(), Slic3r::model_volume_list_changed(), Slic3r::model_volume_list_copy_configs(), Slic3r::ModelConfigObject::object_id_and_timestamp_match(), Slic3r::ObjectWithTimestamp::object_id_and_timestamp_match(), Slic3r::GUI::GLGizmoEmboss::on_mouse_change_selection(), Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::on_update(), operator<(), Slic3r::Model::operator=(), Slic3r::ModelObject::operator=(), Slic3r::ModelObject::operator=(), operator==(), Slic3r::GUI::GLGizmoCut3D::perform_cut(), Slic3r::GUI::GLGizmoEmboss::process(), Slic3r::GUI::processed_objects_idxs(), Slic3r::GUI::GLCanvas3D::reload_scene(), Slic3r::GUI::GLCanvas3D::LayersEditing::select_object(), Slic3r::ModelMaterial::serialize(), Slic3r::SLAPrintObject::SliceRecord::set_model_slice_idx(), Slic3r::SLAPrintObject::SliceRecord::set_support_slice_idx(), Slic3r::slices_to_regions(), Slic3r::ModelObject::split(), Slic3r::UndoRedo::StackImpl::take_snapshot(), Slic3r::top_level_outer_brim_area(), Slic3r::GUI::update_object_cut_id(), and anonymous_namespace{EmbossJob.cpp}::update_volume_name().

◆ increase_check_sum()

void Slic3r::CutObjectBase::increase_check_sum ( size_t  cnt)
inline
179{ m_check_sum += cnt; }

References m_check_sum.

Referenced by Slic3r::GUI::update_object_cut_id().

+ Here is the caller graph for this function:

◆ increase_connectors_cnt()

void Slic3r::CutObjectBase::increase_connectors_cnt ( size_t  connectors_cnt)
inline

References connectors_cnt(), and m_connectors_cnt.

+ Here is the call graph for this function:

◆ init()

void Slic3r::CutObjectBase::init ( )
inline
171{ this->set_new_unique_id(); }

References Slic3r::ObjectBase::set_new_unique_id().

Referenced by Slic3r::GUI::update_object_cut_id().

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

◆ invalidate()

void Slic3r::CutObjectBase::invalidate ( )
inline
165 {
167 m_check_sum = 1;
169 }
void set_invalid_id()
Definition ObjectID.hpp:74

References m_check_sum, m_connectors_cnt, and Slic3r::ObjectBase::set_invalid_id().

+ Here is the call graph for this function:

◆ is_equal()

bool Slic3r::CutObjectBase::is_equal ( const CutObjectBase rhs)
inline
173 { return this->id() == rhs.id() &&
174 this->check_sum() == rhs.check_sum() &&
175 this->connectors_cnt() == rhs.connectors_cnt() ; }

References check_sum(), connectors_cnt(), and Slic3r::ObjectBase::id().

Referenced by Slic3r::GUI::ObjectList::delete_all_connectors_for_object(), and Slic3r::GUI::ObjectList::invalidate_cut_info_for_object().

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

◆ load_and_construct()

template<class Archive >
static void Slic3r::ObjectBase::load_and_construct ( Archive &  ar,
cereal::construct< ObjectBase > &  construct 
)
inlinestaticprivateinherited
96{ ObjectID id; ar(id); construct(id); }

References Slic3r::ObjectBase::id().

+ Here is the call graph for this function:

◆ operator<()

bool Slic3r::CutObjectBase::operator< ( const CutObjectBase other) const
inline
152{ return other.id() > this->id(); }

References Slic3r::ObjectBase::id().

+ Here is the call graph for this function:

◆ operator=()

CutObjectBase & Slic3r::CutObjectBase::operator= ( const CutObjectBase other)
inline
160 {
161 this->copy(other);
162 return *this;
163 }
void copy(const CutObjectBase &rhs)
Definition ObjectID.hpp:155

References copy().

+ Here is the call graph for this function:

◆ operator==()

bool Slic3r::CutObjectBase::operator== ( const CutObjectBase other) const
inline
153{ return other.id() == this->id(); }

References Slic3r::ObjectBase::id().

+ Here is the call graph for this function:

◆ serialize()

template<class Archive >
void Slic3r::CutObjectBase::serialize ( Archive &  ar)
inlineprivate
186 {
187 ar(cereal::base_class<ObjectBase>(this));
189 }

References m_check_sum, and m_connectors_cnt.

◆ set_check_sum()

void Slic3r::CutObjectBase::set_check_sum ( size_t  cs)
inline
178{ m_check_sum = cs; }

References m_check_sum.

◆ set_invalid_id()

void Slic3r::ObjectBase::set_invalid_id ( )
inlineprotectedinherited
74{ m_id = 0; }

References Slic3r::ObjectBase::m_id.

Referenced by invalidate().

+ Here is the caller graph for this function:

◆ set_new_unique_id()

void Slic3r::ObjectBase::set_new_unique_id ( )
inlineprotectedinherited
73{ m_id = generate_new_id(); }
static ObjectID generate_new_id()
Definition ObjectID.hpp:84

References Slic3r::ObjectBase::generate_new_id(), and Slic3r::ObjectBase::m_id.

Referenced by Slic3r::ModelVolume::ModelVolume(), Slic3r::Model::assign_new_unique_ids_recursive(), Slic3r::ObjectBase::assign_new_unique_ids_recursive(), Slic3r::ModelObject::assign_new_unique_ids_recursive(), init(), Slic3r::ModelMaterial::set_new_unique_id(), Slic3r::ModelObject::set_new_unique_id(), and Slic3r::ModelVolume::set_new_unique_id().

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

◆ timestamp()

virtual Timestamp Slic3r::ObjectBase::timestamp ( ) const
inlinevirtualinherited

Reimplemented in Slic3r::ModelConfigObject, and Slic3r::ObjectWithTimestamp.

60{ return 0; }

Referenced by Slic3r::GUI::Plater::priv::undo_redo_to().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ cereal::access

friend class cereal::access
friend

Member Data Documentation

◆ m_check_sum

size_t Slic3r::CutObjectBase::m_check_sum { 1 }
private

◆ m_connectors_cnt

size_t Slic3r::CutObjectBase::m_connectors_cnt { 0 }
private

◆ m_id

◆ s_last_id

size_t Slic3r::ObjectBase::s_last_id = 0
staticprivateinherited

The documentation for this class was generated from the following file: