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:
54 
55 public:
56  RPointEntity(RDocument* document, const RPointData& data,
57  RObject::Id objectId = RObject::INVALID_ID);
58  virtual ~RPointEntity();
59 
60  static void init();
61 
62  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
64  }
65 
66  virtual RPointEntity* clone() const {
67  return new RPointEntity(*this);
68  }
69 
70  virtual RS::EntityType getType() const {
71  return RS::EntityPoint;
72  }
73 
74  bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
75  RTransaction* transaction=NULL);
76  QPair<QVariant, RPropertyAttributes> getProperty(
77  RPropertyTypeId& propertyTypeId,
78  bool humanReadable = false, bool noAttributes = false);
79 
80  virtual void exportEntity(RExporter& e, bool preview=false, bool forceSelected=false) const;
81 
82  virtual RPointData& getData() {
83  return data;
84  }
85 
86  virtual const RPointData& getData() const {
87  return data;
88  }
89 
90  RVector getPosition() const {
91  return data.getPosition();
92  }
93 
94 protected:
95  virtual void print(QDebug dbg) const;
96 
97 protected:
99 };
100 
102 Q_DECLARE_METATYPE(QSharedPointer<RPointEntity>)
103 Q_DECLARE_METATYPE(QSharedPointer<RPointEntity>*)
104 
105 #endif