Moved into Model.hpp

This commit is contained in:
Lukas Matena 2024-02-16 12:26:04 +01:00
parent 5cd697bdc2
commit 3913f5c49e
2 changed files with 35 additions and 41 deletions

View File

@ -233,6 +233,41 @@ private:
friend class ModelObject;
};
class CutObjectBase
{
size_t m_unique_id; // 0 = invalid
size_t m_check_sum; // check sum of CutParts in initial Object
size_t m_connectors_cnt; // connectors count
public:
CutObjectBase() { invalidate(); }
CutObjectBase(size_t id, size_t check_sum, size_t connectors_cnt) :
m_unique_id{ id }, m_check_sum{ check_sum }, m_connectors_cnt{ connectors_cnt } {}
void invalidate() {
m_unique_id = 0;
m_check_sum = 1;
m_connectors_cnt = 0;
}
void init() { m_unique_id = 1 + rand(); }
bool has_same_id(const CutObjectBase& rhs) const { return id() == rhs.id(); }
bool is_equal(const CutObjectBase& rhs) const { return id() == rhs.id() &&
check_sum() == rhs.check_sum() &&
connectors_cnt() == rhs.connectors_cnt() ; }
size_t id() const { return m_unique_id; }
bool valid() const { return m_unique_id != 0; }
size_t check_sum() const { return m_check_sum; }
void increase_check_sum(size_t cnt) { m_check_sum += cnt; }
size_t connectors_cnt() const { return m_connectors_cnt; }
void increase_connectors_cnt(size_t connectors_cnt) { m_connectors_cnt += connectors_cnt; }
private:
template<class Archive> void serialize(Archive &ar) {
ar(m_unique_id, m_check_sum, m_connectors_cnt);
}
};
enum class CutConnectorType : int {
Plug
, Dowel

View File

@ -6,12 +6,6 @@
#define slic3r_ObjectID_hpp_
#include <cereal/access.hpp>
#include <cereal/types/base_class.hpp>
#include <stddef.h>
#include <stdint.h>
#include <cereal/cereal.hpp>
#include <cinttypes>
#include <cstddef>
namespace Slic3r {
@ -140,41 +134,6 @@ private:
template<class Archive> void serialize(Archive &ar) { ar(m_timestamp); }
};
class CutObjectBase
{
size_t m_unique_id; // 0 = invalid
size_t m_check_sum; // check sum of CutParts in initial Object
size_t m_connectors_cnt; // connectors count
public:
CutObjectBase() { invalidate(); }
CutObjectBase(size_t id, size_t check_sum, size_t connectors_cnt) :
m_unique_id{ id }, m_check_sum{ check_sum }, m_connectors_cnt{ connectors_cnt } {}
void invalidate() {
m_unique_id = 0;
m_check_sum = 1;
m_connectors_cnt = 0;
}
void init() { m_unique_id = 1 + rand(); }
bool has_same_id(const CutObjectBase& rhs) const { return id() == rhs.id(); }
bool is_equal(const CutObjectBase& rhs) const { return id() == rhs.id() &&
check_sum() == rhs.check_sum() &&
connectors_cnt() == rhs.connectors_cnt() ; }
size_t id() const { return m_unique_id; }
bool valid() const { return m_unique_id != 0; }
size_t check_sum() const { return m_check_sum; }
void increase_check_sum(size_t cnt) { m_check_sum += cnt; }
size_t connectors_cnt() const { return m_connectors_cnt; }
void increase_connectors_cnt(size_t connectors_cnt) { m_connectors_cnt += connectors_cnt; }
private:
template<class Archive> void serialize(Archive &ar) {
ar(m_unique_id, m_check_sum, m_connectors_cnt);
}
};
// Unique object / instance ID for the wipe tower.
extern ObjectID wipe_tower_object_id();
extern ObjectID wipe_tower_instance_id();