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 
60 
64 
68 
72 
76 
77 public:
79  virtual ~RDimLinearEntity();
80 
81  static void init();
82 
83  bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
84  RTransaction* transaction=NULL);
85  QPair<QVariant, RPropertyAttributes> getProperty(
86  RPropertyTypeId& propertyTypeId,
87  bool humanReadable = false, bool noAttributes = false);
88 
89  virtual RDimLinearData& getData() = 0;
90  virtual const RDimLinearData& getData() const = 0;
91 
92  void setExtensionPoint1(const RVector& p) {
93  getData().setExtensionPoint1(p);
94  }
95 
97  return getData().getExtensionPoint1();
98  }
99 
100  void setExtensionPoint2(const RVector& p) {
101  getData().setExtensionPoint2(p);
102  }
103 
105  return getData().getExtensionPoint2();
106  }
107 
108 protected:
109  virtual void print(QDebug dbg) const;
110 };
111 
113 Q_DECLARE_METATYPE(QSharedPointer<RDimLinearEntity>)
114 Q_DECLARE_METATYPE(QSharedPointer<RDimLinearEntity>*)
115 
116 #endif