LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
linepattern.cpp
Go to the documentation of this file.
1 #include "linepattern.h"
2 
4 
5 using namespace lc;
6 using namespace builder;
7 
9  _name(),
10  _description() {
11 }
12 
14 
15 }
16 
17 const std::string& LinePatternBuilder::name() const {
18  return _name;
19 }
20 
21 const std::string& LinePatternBuilder::description() const {
22  return _description;
23 }
24 
25 const std::vector<double>& LinePatternBuilder::path() const {
26  return _path;
27 }
28 
30  _name = name;
31 
32  return this;
33 }
34 
35 LinePatternBuilder* LinePatternBuilder::setDescription(const std::string& description) {
37 
38  return this;
39 }
40 
41 LinePatternBuilder* LinePatternBuilder::setPath(const std::vector<double>& path) {
42  _path = path;
43 
44  return this;
45 }
46 
48  return _name != "";
49 }
50 
51 DxfLinePatternByValue_CSPtr LinePatternBuilder::build() {
52  if(!checkValues()) {
53  throw "Missing values";
54  }
55 
56  return DxfLinePatternByValue_CSPtr(new DxfLinePatternByValue(*this));
57 }
58 
60  _path.push_back(element);
61 
62  return this;
63 }
LinePatternBuilder * addElement(double element)
Definition: linepattern.cpp:59
LinePatternBuilder * setName(const std::string &name)
Definition: linepattern.cpp:29
LinePatternBuilder * setPath(const std::vector< double > &path)
Definition: linepattern.cpp:41
DxfLinePatternByValue_CSPtr build()
Definition: linepattern.cpp:51
const std::vector< double > & path() const
Definition: linepattern.cpp:25
Definition: cadentity.h:12
const std::string & description() const
Definition: linepattern.cpp:21
LinePatternBuilder * setDescription(const std::string &description)
Definition: linepattern.cpp:35
const std::string & name() const
Definition: linepattern.cpp:17
std::vector< double > _path
Definition: linepattern.h:34