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

#include <layer.h>

Collaboration diagram for lc::builder::LayerBuilder:

Public Member Functions

 LayerBuilder ()
 
virtual ~LayerBuilder ()
 
const std::string & name () const
 
const MetaLineWidthByValuelineWidth () const
 
const Colorcolor () const
 
DxfLinePatternByValue_CSPtr linePattern () const
 
bool isFrozen () const
 
LayerBuildersetName (const std::string &name)
 
LayerBuildersetLineWidth (const MetaLineWidthByValue &lineWidth)
 
LayerBuildersetColor (const Color &color)
 
LayerBuildersetLinePattern (const DxfLinePatternByValue_CSPtr &linepattern)
 
LayerBuildersetIsFrozen (bool isFrozen)
 
Layer_CSPtr build ()
 

Private Member Functions

bool checkValues ()
 

Private Attributes

std::string _name
 
MetaLineWidthByValue _lineWidth
 
Color _color
 
lc::DxfLinePatternByValue_CSPtr _linePattern
 
bool _isFrozen
 

Detailed Description

Definition at line 12 of file layer.h.

Constructor & Destructor Documentation

LayerBuilder::LayerBuilder ( )

Definition at line 7 of file layer.cpp.

7  :
8  _name(),
9  _lineWidth(1),
10  _color(),
11  _linePattern(nullptr),
12  _isFrozen(false) {
13 
14 }
lc::DxfLinePatternByValue_CSPtr _linePattern
Definition: layer.h:38
std::string _name
Definition: layer.h:35
MetaLineWidthByValue _lineWidth
Definition: layer.h:36
LayerBuilder::~LayerBuilder ( )
virtual

Definition at line 16 of file layer.cpp.

16  {
17 
18 }

Member Function Documentation

Layer_CSPtr LayerBuilder::build ( )

Definition at line 70 of file layer.cpp.

70  {
71  if(!checkValues()) {
72  throw "Missing values";
73  }
74 
75  return Layer_CSPtr(new Layer(*this));
76 }
bool LayerBuilder::checkValues ( )
private

Definition at line 78 of file layer.cpp.

78  {
79  return _name != "";
80 }
std::string _name
Definition: layer.h:35
const Color & LayerBuilder::color ( ) const

Definition at line 28 of file layer.cpp.

28  {
29  return _color;
30 }
bool LayerBuilder::isFrozen ( ) const

Definition at line 36 of file layer.cpp.

36  {
37  return _isFrozen;
38 }
DxfLinePatternByValue_CSPtr LayerBuilder::linePattern ( ) const

Definition at line 32 of file layer.cpp.

32  {
33  return _linePattern;
34 }
lc::DxfLinePatternByValue_CSPtr _linePattern
Definition: layer.h:38
const MetaLineWidthByValue & LayerBuilder::lineWidth ( ) const

Definition at line 24 of file layer.cpp.

24  {
25  return _lineWidth;
26 }
MetaLineWidthByValue _lineWidth
Definition: layer.h:36
const std::string & LayerBuilder::name ( ) const

Definition at line 20 of file layer.cpp.

20  {
21  return _name;
22 }
std::string _name
Definition: layer.h:35
LayerBuilder * LayerBuilder::setColor ( const Color color)

Definition at line 52 of file layer.cpp.

52  {
53  _color = color;
54 
55  return this;
56 }
const Color & color() const
Definition: layer.cpp:28
LayerBuilder * LayerBuilder::setIsFrozen ( bool  isFrozen)

Definition at line 64 of file layer.cpp.

64  {
66 
67  return this;
68 }
bool isFrozen() const
Definition: layer.cpp:36
LayerBuilder * LayerBuilder::setLinePattern ( const DxfLinePatternByValue_CSPtr &  linepattern)

Definition at line 58 of file layer.cpp.

58  {
60 
61  return this;
62 }
lc::DxfLinePatternByValue_CSPtr _linePattern
Definition: layer.h:38
DxfLinePatternByValue_CSPtr linePattern() const
Definition: layer.cpp:32
LayerBuilder * LayerBuilder::setLineWidth ( const MetaLineWidthByValue lineWidth)

Definition at line 46 of file layer.cpp.

46  {
48 
49  return this;
50 }
const MetaLineWidthByValue & lineWidth() const
Definition: layer.cpp:24
MetaLineWidthByValue _lineWidth
Definition: layer.h:36
LayerBuilder * LayerBuilder::setName ( const std::string &  name)

Definition at line 40 of file layer.cpp.

40  {
41  _name = name;
42 
43  return this;
44 }
std::string _name
Definition: layer.h:35
const std::string & name() const
Definition: layer.cpp:20

Member Data Documentation

Color lc::builder::LayerBuilder::_color
private

Definition at line 37 of file layer.h.

bool lc::builder::LayerBuilder::_isFrozen
private

Definition at line 39 of file layer.h.

lc::DxfLinePatternByValue_CSPtr lc::builder::LayerBuilder::_linePattern
private

Definition at line 38 of file layer.h.

MetaLineWidthByValue lc::builder::LayerBuilder::_lineWidth
private

Definition at line 36 of file layer.h.

std::string lc::builder::LayerBuilder::_name
private

Definition at line 35 of file layer.h.


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