QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RDimLinearEntity.h
Go to the documentation of this file.
1 
20 #ifndef RDIMLINEARENTITY_H
21 #define RDIMLINEARENTITY_H
22 
23 #include "entity_global.h"
24 
25 #include "RDimensionEntity.h"
26 #include "RDimLinearData.h"
27 
28 class RDocument;
29 class RExporter;
30 
39 
40  Q_DECLARE_TR_FUNCTIONS(RDimLinearEntity)
41 
42 public:
52 
59 
62 
66 
70 
74 
75 public:
77  virtual ~RDimLinearEntity();
78 
79  static void init();
80 
81  bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
82  RTransaction* transaction=NULL);
83  QPair<QVariant, RPropertyAttributes> getProperty(
84  RPropertyTypeId& propertyTypeId,
85  bool humanReadable = false, bool noAttributes = false);
86 
87  virtual RDimLinearData& getData() = 0;
88  virtual const RDimLinearData& getData() const = 0;
89 
90  void setExtensionPoint1(const RVector& p) {
91  getData().setExtensionPoint1(p);
92  }
93 
95  return getData().getExtensionPoint1();
96  }
97 
98  void setExtensionPoint2(const RVector& p) {
99  getData().setExtensionPoint2(p);
100  }
101 
103  return getData().getExtensionPoint2();
104  }
105 
106 protected:
107  virtual void print(QDebug dbg) const;
108 };
109 
111 Q_DECLARE_METATYPE(QSharedPointer<RDimLinearEntity>)
112 Q_DECLARE_METATYPE(QSharedPointer<RDimLinearEntity>*)
113 
114 #endif