LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
linepattern.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cad/const.h>
4 #include <string>
5 #include <vector>
6 #include <memory>
7 
8 namespace lc {
9  class DxfLinePatternByValue;
10  DECLARE_SHORT_SHARED_PTR(DxfLinePatternByValue)
11 
12  namespace builder {
14  public:
16 
17  virtual ~LinePatternBuilder();
18 
19  const std::string& name() const;
20  const std::string& description() const;
21  const std::vector<double>& path() const;
22 
23  LinePatternBuilder* setName(const std::string& name);
24  LinePatternBuilder* setDescription(const std::string& description);
25  LinePatternBuilder* setPath(const std::vector<double>& path);
26  LinePatternBuilder* addElement(double element);
27 
28  bool checkValues();
29  DxfLinePatternByValue_CSPtr build();
30 
31  private:
32  std::string _name;
33  std::string _description;
34  std::vector<double> _path;
35  };
36  }
37 }
DECLARE_SHORT_SHARED_PTR(Document)
Definition: cadentity.h:12
std::vector< double > _path
Definition: linepattern.h:34