QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RDimOrdinateEntity.h
Go to the documentation of this file.
1 
20 #ifndef RDIMORDINATEENTITY_H
21 #define RDIMORDINATEENTITY_H
22 
23 #include "entity_global.h"
24 
25 #include "RDimensionEntity.h"
26 #include "RDimOrdinateData.h"
27 
28 class RDocument;
29 class RExporter;
30 
39 
40  Q_DECLARE_TR_FUNCTIONS(RDimOrdinateEntity)
41 
42 public:
52 
59 
63 
65 
69 
73 
74 public:
75  RDimOrdinateEntity(RDocument* document, const RDimOrdinateData& data,
76  RObject::Id objectId = RObject::INVALID_ID);
77  virtual ~RDimOrdinateEntity();
78 
79  static void init();
80 
81  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
83  }
84 
85  virtual RDimOrdinateEntity* clone() const {
86  return new RDimOrdinateEntity(*this);
87  }
88 
89  virtual RS::EntityType getType() const {
90  return RS::EntityDimOrdinate;
91  }
92 
93  bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
94  RTransaction* transaction=NULL);
95  QPair<QVariant, RPropertyAttributes> getProperty(
96  RPropertyTypeId& propertyTypeId,
97  bool humanReadable = false, bool noAttributes = false);
98 
100  return data;
101  }
102 
104  data = d;
105  }
106 
107  virtual const RDimOrdinateData& getData() const {
108  return data;
109  }
110 
111  void setLeaderEndPoint(const RVector& p) {
112  data.setLeaderEndPoint(p);
113  }
114 
116  return data.getLeaderEndPoint();
117  }
118 
119  void setDefiningPoint(const RVector& p) {
120  data.setDefiningPoint(p);
121  }
122 
124  return data.getDefiningPoint();
125  }
126 
128  data.setMeasuringXAxis();
129  }
130 
132  data.setMeasuringYAxis();
133  }
134 
135  bool isMeasuringXAxis() const {
136  return data.isMeasuringXAxis();
137  }
138 
139 protected:
140  virtual void print(QDebug dbg) const;
141 
142 protected:
144 };
145 
147 Q_DECLARE_METATYPE(QSharedPointer<RDimOrdinateEntity>)
148 Q_DECLARE_METATYPE(QSharedPointer<RDimOrdinateEntity>*)
149 
150 #endif