LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
arc.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "cadentity.h"
4 
5 namespace lc {
6  namespace builder {
7  class ArcBuilder : public CADEntityBuilder {
8  public:
9  ArcBuilder();
10 
11  virtual ~ArcBuilder();
12 
13  const geo::Coordinate& center() const;
14  ArcBuilder* setCenter(const geo::Coordinate& center);
15 
16  double radius() const;
17  ArcBuilder* setRadius(double radius);
18 
19  double startAngle() const;
20  ArcBuilder* setStartAngle(double startAngle);
21 
22  double endAngle() const;
23  ArcBuilder* setEndAngle(double endAngle);
24 
25  bool isCCW() const;
26  ArcBuilder* setIsCCW(bool isCCW);
27 
28  entity::Arc_CSPtr build();
29 
30  private:
32  double _radius;
33  double _startAngle;
34  double _endAngle;
35  bool _isCCW;
36  };
37  }
38 }
ArcBuilder * setRadius(double radius)
Definition: arc.cpp:27
ArcBuilder * setEndAngle(double endAngle)
Definition: arc.cpp:45
virtual ~ArcBuilder()
Definition: arc.cpp:10
ArcBuilder * setStartAngle(double startAngle)
Definition: arc.cpp:36
ArcBuilder * setCenter(const geo::Coordinate &center)
Definition: arc.cpp:18
const geo::Coordinate & center() const
Definition: arc.cpp:14
double endAngle() const
Definition: arc.cpp:41
Definition: cadentity.h:12
double startAngle() const
Definition: arc.cpp:32
double _startAngle
Definition: arc.h:33
bool isCCW() const
Definition: arc.cpp:50
ArcBuilder * setIsCCW(bool isCCW)
Definition: arc.cpp:54
entity::Arc_CSPtr build()
Definition: arc.cpp:59
geo::Coordinate _center
Definition: arc.h:31
double radius() const
Definition: arc.cpp:23
double _endAngle
Definition: arc.h:34