QCAD Application Framework
CAD Application Development and Automation.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RDimOrdinateData.h
Go to the documentation of this file.
1 #ifndef RDIMORDINATEDATA_H
2 #define RDIMORDINATEDATA_H
3 
4 #include "RDocument.h"
5 #include "RDimLinearData.h"
6 #include "RVector.h"
7 
15  friend class RDimOrdinateEntity;
16 
17 protected:
19 
20 public:
22  RDimOrdinateData(const RDimensionData& dimData,
23  const RVector& leaderEndPoint,
24  const RVector& definingPoint);
25 
26  virtual bool isValid() const;
27 
28  void setLeaderEndPoint(const RVector& p) {
29  leaderEndPoint = p;
30  }
31 
33  return leaderEndPoint;
34  }
35 
36  void setOrigin(const RVector& p) {
38  }
39 
40  RVector getOrigin() const {
41  return getDefinitionPoint();
42  }
43 
44  void setDefiningPoint(const RVector& p) {
45  definingPoint = p;
46  }
47 
49  return definingPoint;
50  }
51 
53  xType = true;
54  }
55 
57  xType = false;
58  }
59 
60  bool isMeasuringXAxis() const {
61  return xType;
62  }
63 
64  virtual QList<RVector> getReferencePoints(
66 
67  virtual bool moveReferencePoint(const RVector& referencePoint,
68  const RVector& targetPoint);
69 
70  virtual bool move(const RVector& offset);
71  virtual bool rotate(double rotation, const RVector& center);
72  virtual bool scale(const RVector& scaleFactors, const RVector& center);
73  virtual bool mirror(const RLine& axis);
74  virtual bool stretch(const RPolyline& area, const RVector& offset);
75 
76  virtual QList<QSharedPointer<RShape> > getShapes(const RBox& queryBox = RDEFAULT_RBOX) const;
77  virtual QString getAutoMeasurement() const;
78 
79 private:
82 
85 
87  bool xType;
88 };
89 
91 Q_DECLARE_METATYPE(QSharedPointer<RDimOrdinateData>)
92 
93 #endif