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:
53 
62 
66 
68 
72 
76 
77 public:
78  RDimOrdinateEntity(RDocument* document, const RDimOrdinateData& data,
79  RObject::Id objectId = RObject::INVALID_ID);
80  virtual ~RDimOrdinateEntity();
81 
82  static void init();
83 
84  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
86  }
87 
88  virtual RDimOrdinateEntity* clone() const {
89  return new RDimOrdinateEntity(*this);
90  }
91 
92  virtual RS::EntityType getType() const {
93  return RS::EntityDimOrdinate;
94  }
95 
96  bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
97  RTransaction* transaction=NULL);
98  QPair<QVariant, RPropertyAttributes> getProperty(
99  RPropertyTypeId& propertyTypeId,
100  bool humanReadable = false, bool noAttributes = false);
101 
103  return data;
104  }
105 
107  data = d;
108  }
109 
110  virtual const RDimOrdinateData& getData() const {
111  return data;
112  }
113 
114  void setLeaderEndPoint(const RVector& p) {
115  data.setLeaderEndPoint(p);
116  }
117 
119  return data.getLeaderEndPoint();
120  }
121 
122  void setDefiningPoint(const RVector& p) {
123  data.setDefiningPoint(p);
124  }
125 
127  return data.getDefiningPoint();
128  }
129 
131  data.setMeasuringXAxis();
132  }
133 
135  data.setMeasuringYAxis();
136  }
137 
138  bool isMeasuringXAxis() const {
139  return data.isMeasuringXAxis();
140  }
141 
142 protected:
143  virtual void print(QDebug dbg) const;
144 
145 protected:
147 };
148 
150 Q_DECLARE_METATYPE(QSharedPointer<RDimOrdinateEntity>)
151 Q_DECLARE_METATYPE(QSharedPointer<RDimOrdinateEntity>*)
152 
153 #endif