LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lc::builder::InsertBuilder Class Reference

#include <insert.h>

Inheritance diagram for lc::builder::InsertBuilder:
Collaboration diagram for lc::builder::InsertBuilder:

Public Member Functions

 InsertBuilder ()
 
virtual ~InsertBuilder ()
 
InsertBuildercopy (entity::Insert_CSPtr insert)
 
const Block_CSPtr & displayBlock () const
 
InsertBuildersetDisplayBlock (const Block_CSPtr &displayBlock)
 
const geo::Coordinatecoordinate () const
 
InsertBuildersetCoordinate (const geo::Coordinate &coordinate)
 
const Document_SPtr & document () const
 
InsertBuildersetDocument (const Document_SPtr &document)
 
bool checkValues () override
 
entity::Insert_CSPtr build ()
 
- Public Member Functions inherited from lc::builder::CADEntityBuilder
 CADEntityBuilder ()
 
virtual ~CADEntityBuilder ()
 
void copy (entity::CADEntity_CSPtr entity)
 
const Layer_CSPtr & layer () const
 Get layer. More...
 
void setLayer (const Layer_CSPtr &layer)
 Set the layer. More...
 
const MetaInfo_CSPtr & metaInfo () const
 Get MetaInfo. More...
 
void setMetaInfo (const MetaInfo_CSPtr &metaInfo)
 Set MetaInfo. More...
 
const Block_CSPtr & block () const
 Get block. More...
 
void setBlock (const Block_CSPtr &block)
 Set the Block. More...
 
const ID_DATATYPE id () const
 Get entity ID. More...
 
void setID (ID_DATATYPE id)
 Set entity ID. More...
 
void newID ()
 Generate new ID for the entity. More...
 

Private Attributes

Document_SPtr _document
 
Block_CSPtr _displayBlock
 
geo::Coordinate _coordinate
 

Detailed Description

Definition at line 8 of file insert.h.

Constructor & Destructor Documentation

InsertBuilder::InsertBuilder ( )

Definition at line 7 of file insert.cpp.

7  :
8  _displayBlock(nullptr) {
9 }
Block_CSPtr _displayBlock
Definition: insert.h:30
InsertBuilder::~InsertBuilder ( )
virtual

Definition at line 11 of file insert.cpp.

11  {
12 
13 }

Member Function Documentation

entity::Insert_CSPtr InsertBuilder::build ( )

Definition at line 41 of file insert.cpp.

41  {
42  if(!checkValues()) {
43  throw "Missing values";
44  }
45 
46  return entity::Insert_CSPtr(new entity::Insert(*this));
47 }
bool checkValues() override
Definition: insert.cpp:25
bool InsertBuilder::checkValues ( )
overridevirtual

Reimplemented from lc::builder::CADEntityBuilder.

Definition at line 25 of file insert.cpp.

25  {
27  _displayBlock != nullptr &&
28  _document != nullptr;
29 }
Block_CSPtr _displayBlock
Definition: insert.h:30
virtual bool checkValues()
Definition: cadentity.h:100
Document_SPtr _document
Definition: insert.h:29
const geo::Coordinate & InsertBuilder::coordinate ( ) const

Definition at line 49 of file insert.cpp.

49  {
50  return _coordinate;
51 }
geo::Coordinate _coordinate
Definition: insert.h:31
InsertBuilder * InsertBuilder::copy ( entity::Insert_CSPtr  insert)

Definition at line 15 of file insert.cpp.

15  {
16  CADEntityBuilder::copy(insert);
17 
18  _displayBlock = insert->_displayBlock;
19  _document = insert->_document;
20  _coordinate = insert->_position;
21 
22  return this;
23 }
geo::Coordinate _coordinate
Definition: insert.h:31
Block_CSPtr _displayBlock
Definition: insert.h:30
Document_SPtr _document
Definition: insert.h:29
void copy(entity::CADEntity_CSPtr entity)
Definition: cadentity.h:22
const Block_CSPtr & InsertBuilder::displayBlock ( ) const

Definition at line 31 of file insert.cpp.

31  {
32  return _displayBlock;
33 }
Block_CSPtr _displayBlock
Definition: insert.h:30
const Document_SPtr & InsertBuilder::document ( ) const

Definition at line 59 of file insert.cpp.

59  {
60  return _document;
61 }
Document_SPtr _document
Definition: insert.h:29
InsertBuilder * InsertBuilder::setCoordinate ( const geo::Coordinate coordinate)

Definition at line 53 of file insert.cpp.

53  {
55 
56  return this;
57 }
geo::Coordinate _coordinate
Definition: insert.h:31
const geo::Coordinate & coordinate() const
Definition: insert.cpp:49
InsertBuilder * InsertBuilder::setDisplayBlock ( const Block_CSPtr &  displayBlock)

Definition at line 35 of file insert.cpp.

35  {
37 
38  return this;
39 }
const Block_CSPtr & displayBlock() const
Definition: insert.cpp:31
Block_CSPtr _displayBlock
Definition: insert.h:30
InsertBuilder * InsertBuilder::setDocument ( const Document_SPtr &  document)

Definition at line 63 of file insert.cpp.

63  {
65 
66  return this;
67 }
const Document_SPtr & document() const
Definition: insert.cpp:59
Document_SPtr _document
Definition: insert.h:29

Member Data Documentation

geo::Coordinate lc::builder::InsertBuilder::_coordinate
private

Definition at line 31 of file insert.h.

Block_CSPtr lc::builder::InsertBuilder::_displayBlock
private

Definition at line 30 of file insert.h.

Document_SPtr lc::builder::InsertBuilder::_document
private

Definition at line 29 of file insert.h.


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