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

#include <arc.h>

Inheritance diagram for lc::builder::ArcBuilder:
Collaboration diagram for lc::builder::ArcBuilder:

Public Member Functions

 ArcBuilder ()
 
virtual ~ArcBuilder ()
 
const geo::Coordinatecenter () const
 
ArcBuildersetCenter (const geo::Coordinate &center)
 
double radius () const
 
ArcBuildersetRadius (double radius)
 
double startAngle () const
 
ArcBuildersetStartAngle (double startAngle)
 
double endAngle () const
 
ArcBuildersetEndAngle (double endAngle)
 
bool isCCW () const
 
ArcBuildersetIsCCW (bool isCCW)
 
entity::Arc_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...
 
virtual bool checkValues ()
 

Private Attributes

geo::Coordinate _center
 
double _radius
 
double _startAngle
 
double _endAngle
 
bool _isCCW
 

Detailed Description

Definition at line 7 of file arc.h.

Constructor & Destructor Documentation

ArcBuilder::ArcBuilder ( )

Definition at line 6 of file arc.cpp.

6  {
7 
8 }
ArcBuilder::~ArcBuilder ( )
virtual

Definition at line 10 of file arc.cpp.

10  {
11 
12 }

Member Function Documentation

lc::entity::Arc_CSPtr ArcBuilder::build ( )

Definition at line 59 of file arc.cpp.

59  {
60  return entity::Arc_CSPtr(new entity::Arc(*this));
61 }
const lc::geo::Coordinate & ArcBuilder::center ( ) const

Definition at line 14 of file arc.cpp.

14  {
15  return _center;
16 }
geo::Coordinate _center
Definition: arc.h:31
double ArcBuilder::endAngle ( ) const

Definition at line 41 of file arc.cpp.

41  {
42  return _endAngle;
43 }
double _endAngle
Definition: arc.h:34
bool ArcBuilder::isCCW ( ) const

Definition at line 50 of file arc.cpp.

50  {
51  return _isCCW;
52 }
double ArcBuilder::radius ( ) const

Definition at line 23 of file arc.cpp.

23  {
24  return _radius;
25 }
ArcBuilder * ArcBuilder::setCenter ( const geo::Coordinate center)

Definition at line 18 of file arc.cpp.

18  {
19  _center = center;
20  return this;
21 }
const geo::Coordinate & center() const
Definition: arc.cpp:14
geo::Coordinate _center
Definition: arc.h:31
ArcBuilder * ArcBuilder::setEndAngle ( double  endAngle)

Definition at line 45 of file arc.cpp.

45  {
47  return this;
48 }
double endAngle() const
Definition: arc.cpp:41
double _endAngle
Definition: arc.h:34
ArcBuilder * ArcBuilder::setIsCCW ( bool  isCCW)

Definition at line 54 of file arc.cpp.

54  {
55  _isCCW = isCCW;
56  return this;
57 }
bool isCCW() const
Definition: arc.cpp:50
ArcBuilder * ArcBuilder::setRadius ( double  radius)

Definition at line 27 of file arc.cpp.

27  {
28  _radius = radius;
29  return this;
30 }
double radius() const
Definition: arc.cpp:23
ArcBuilder * ArcBuilder::setStartAngle ( double  startAngle)

Definition at line 36 of file arc.cpp.

36  {
38  return this;
39 }
double startAngle() const
Definition: arc.cpp:32
double _startAngle
Definition: arc.h:33
double ArcBuilder::startAngle ( ) const

Definition at line 32 of file arc.cpp.

32  {
33  return _startAngle;
34 }
double _startAngle
Definition: arc.h:33

Member Data Documentation

geo::Coordinate lc::builder::ArcBuilder::_center
private

Definition at line 31 of file arc.h.

double lc::builder::ArcBuilder::_endAngle
private

Definition at line 34 of file arc.h.

bool lc::builder::ArcBuilder::_isCCW
private

Definition at line 35 of file arc.h.

double lc::builder::ArcBuilder::_radius
private

Definition at line 32 of file arc.h.

double lc::builder::ArcBuilder::_startAngle
private

Definition at line 33 of file arc.h.


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