QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RDimAlignedEntity.h
Go to the documentation of this file.
1 
20 #ifndef RDIMALIGNEDENTITY_H
21 #define RDIMALIGNEDENTITY_H
22 
23 #include "entity_global.h"
24 
25 #include "RDimensionEntity.h"
26 #include "RDimAlignedData.h"
27 
28 class RDocument;
29 class RExporter;
30 
39 
40  Q_DECLARE_TR_FUNCTIONS(RDimAlignedEntity)
41 
42 public:
52 
59 
62 
72 
73 public:
74  RDimAlignedEntity(RDocument* document, const RDimAlignedData& data,
75  RObject::Id objectId = RObject::INVALID_ID);
76  virtual ~RDimAlignedEntity();
77 
78  static void init();
79 
80  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
82  }
83 
84  virtual RDimAlignedEntity* clone() const {
85  return new RDimAlignedEntity(*this);
86  }
87 
88  virtual RS::EntityType getType() const {
89  return RS::EntityDimAligned;
90  }
91 
92  bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
93  RTransaction* transaction=NULL);
94  QPair<QVariant, RPropertyAttributes> getProperty(
95  RPropertyTypeId& propertyTypeId,
96  bool humanReadable = false, bool noAttributes = false);
97 
98  virtual RDimAlignedData& getData() {
99  return data;
100  }
101 
103  data = d;
104  }
105 
106  virtual const RDimAlignedData& getData() const {
107  return data;
108  }
109 
110  void setExtensionPoint1(const RVector& p) {
111  data.setExtensionPoint1(p);
112  }
113 
115  return data.getExtensionPoint1();
116  }
117 
118  void setExtensionPoint2(const RVector& p) {
119  data.setExtensionPoint2(p);
120  }
121 
123  return data.getExtensionPoint2();
124  }
125 
126 protected:
127  virtual void print(QDebug dbg) const;
128 
129 protected:
131 };
132 
134 Q_DECLARE_METATYPE(QSharedPointer<RDimAlignedEntity>)
135 Q_DECLARE_METATYPE(QSharedPointer<RDimAlignedEntity>*)
136 
137 #endif