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