LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cadentity.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cad/base/cadentity.h>
4 
5 namespace lc {
6  namespace builder {
8  public:
13  _layer(nullptr),
14  _metaInfo(nullptr),
15  _block(nullptr) {
16  }
17 
18  virtual ~CADEntityBuilder() {
19 
20  }
21 
22  void copy(entity::CADEntity_CSPtr entity) {
23  _layer = entity->_layer;
24  _block = entity->_block;
25  _metaInfo = entity->_metaInfo;
26  _id.setID(entity->id());
27  }
28 
33  const Layer_CSPtr& layer() const {
34  return _layer;
35  }
36 
41  void setLayer(const Layer_CSPtr& layer) {
42  _layer = layer;
43  }
44 
49  const MetaInfo_CSPtr& metaInfo() const {
50  return _metaInfo;
51  }
52 
57  void setMetaInfo(const MetaInfo_CSPtr& metaInfo) {
59  }
60 
65  const Block_CSPtr& block() const {
66  return _block;
67  }
68 
73  void setBlock(const Block_CSPtr& block) {
74  _block = block;
75  }
76 
81  const ID_DATATYPE id() const {
82  return _id.id();
83  }
84 
89  void setID(ID_DATATYPE id) {
90  _id.setID(id);
91  }
92 
96  void newID() {
97  _id = ID();
98  }
99 
100  virtual bool checkValues() {
101  return _layer != nullptr;
102  }
103 
104  private:
105  Layer_CSPtr _layer;
106  MetaInfo_CSPtr _metaInfo;
107  Block_CSPtr _block;
109  };
110  }
111 }
#define ID_DATATYPE
Definition: id.h:7
const Layer_CSPtr & layer() const
Get layer.
Definition: cadentity.h:33
ID_DATATYPE id() const
returns the ID of the entity
Definition: id.cpp:18
virtual bool checkValues()
Definition: cadentity.h:100
Definition: cadentity.h:12
Definition: id.h:15
const Block_CSPtr & block() const
Get block.
Definition: cadentity.h:65
const ID_DATATYPE id() const
Get entity ID.
Definition: cadentity.h:81
void setID(ID_DATATYPE id)
Set entity ID.
Definition: cadentity.h:89
void setID(ID_DATATYPE id)
Definition: id.cpp:22
void setMetaInfo(const MetaInfo_CSPtr &metaInfo)
Set MetaInfo.
Definition: cadentity.h:57
void newID()
Generate new ID for the entity.
Definition: cadentity.h:96
void setLayer(const Layer_CSPtr &layer)
Set the layer.
Definition: cadentity.h:41
void copy(entity::CADEntity_CSPtr entity)
Definition: cadentity.h:22
void setBlock(const Block_CSPtr &block)
Set the Block.
Definition: cadentity.h:73
const MetaInfo_CSPtr & metaInfo() const
Get MetaInfo.
Definition: cadentity.h:49