QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RCircleEntity.h
Go to the documentation of this file.
1 
20 #ifndef RCIRCLENTITY_H
21 #define RCIRCLENTITY_H
22 
23 #include "entity_global.h"
24 
25 #include "REntity.h"
26 #include "RCircleData.h"
27 
28 class RDocument;
29 class RExporter;
30 
39 
40 public:
54 
58 
59 public:
60  RCircleEntity(RDocument* document, const RCircleData& data,
61  RObject::Id objectId = RObject::INVALID_ID);
62  virtual ~RCircleEntity();
63 
64  static void init();
65 
66  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
68  }
69 
70  virtual RCircleEntity* clone() const {
71  return new RCircleEntity(*this);
72  }
73 
74  virtual RS::EntityType getType() const {
75  return RS::EntityCircle;
76  }
77 
78  bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
79  RTransaction* transaction=NULL);
80  QPair<QVariant, RPropertyAttributes> getProperty(
81  RPropertyTypeId& propertyTypeId,
82  bool humanReadable = false, bool noAttributes = false);
83 
84  virtual void exportEntity(RExporter& e, bool preview=false) const;
85 
86  virtual RCircleData& getData() {
87  return data;
88  }
89 
90  virtual const RCircleData& getData() const {
91  return data;
92  }
93 
94  RVector getCenter() const {
95  return data.getCenter();
96  }
97 
98  double getRadius() const {
99  return data.getRadius();
100  }
101 
102  void setRadius(double radius) {
103  data.setRadius(radius);
104  }
105 
106  double getLength() const {
107  return data.getLength();
108  }
109 
110 protected:
111  virtual void print(QDebug dbg) const;
112 
113 protected:
115 };
116 
118 Q_DECLARE_METATYPE(QSharedPointer<RCircleEntity>)
119 Q_DECLARE_METATYPE(QSharedPointer<RCircleEntity>*)
120 
121 #endif