QCAD Application Framework
CAD Application Development and Automation.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
REllipseData.h
Go to the documentation of this file.
1 #ifndef RELLIPSEDATA_H
2 #define RELLIPSEDATA_H
3 
4 #include "RBox.h"
5 #include "RDocument.h"
6 #include "REntity.h"
7 #include "RPoint.h"
8 #include "RVector.h"
9 #include "REllipse.h"
10 
18 class REllipseData: public REntityData, protected REllipse {
19 
20  friend class REllipseEntity;
21 
22 protected:
24 
25 public:
26  REllipseData();
27  REllipseData(const REllipse& ellipse);
29  const RVector& center,
30  const RVector& majorPoint,
31  double ratio,
32  double startParam, double endParam,
33  bool reversed = false);
34 
36  return *this;
37  }
38 
39  QList<RVector> getFoci() const {
40  return REllipse::getFoci();
41  }
42  RVector getCenter() const {
43  return REllipse::getCenter();
44  }
45  double getMajorRadius() const {
46  return REllipse::getMajorRadius();
47  }
49  return REllipse::getMajorPoint();
50  }
52  return REllipse::getMinorPoint();
53  }
54  void setMinorPoint(const RVector& p) {
56  }
57  double getRatio() const {
58  return REllipse::getRatio();
59  }
60  double getAngle() const {
61  return REllipse::getAngle();
62  }
63  double getStartParam() const {
64  return REllipse::getStartParam();
65  }
66  double getEndParam() const {
67  return REllipse::getEndParam();
68  }
69  bool isFullEllipse() const {
70  return REllipse::isFullEllipse();
71  }
72 
73  double getParamTo(const RVector& pos) {
74  return REllipse::getParamTo(pos);
75  }
76 
77  virtual QList<RVector> getReferencePoints(
79 
80  virtual bool moveReferencePoint(const RVector& referencePoint,
81  const RVector& targetPoint);
82 
83  virtual bool reverse() {
84  return REllipse::reverse();
85  }
86 
87  virtual RShape* castToShape() {
88  return this;
89  }
90 
91  virtual QList<QSharedPointer<RShape> > getShapes(const RBox& queryBox = RDEFAULT_RBOX) const {
92  Q_UNUSED(queryBox)
93 
94  return QList<QSharedPointer<RShape> >() <<
95  QSharedPointer<RShape>(new REllipse(*this));
96  }
97 };
98 
100 Q_DECLARE_METATYPE(QSharedPointer<REllipseData>)
101 
102 #endif