QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RHatchEntity.h
Go to the documentation of this file.
1 
20 #ifndef RHATCHENTITY_H
21 #define RHATCHENTITY_H
22 
23 #include "entity_global.h"
24 
25 #include "REntity.h"
26 #include "RHatchData.h"
27 
28 class RDocument;
29 class RExporter;
30 
39 
40 public:
50 
52 
56 
59 
63 
64 public:
65  RHatchEntity(RDocument* document, const RHatchData& data,
66  RObject::Id objectId = RObject::INVALID_ID);
67  virtual ~RHatchEntity();
68 
69  static void init();
70 
71  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
73  }
74 
75  virtual RHatchEntity* clone() const;
76 
77  virtual RS::EntityType getType() const {
78  return RS::EntityHatch;
79  }
80 
81  bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
82  RTransaction* transaction=NULL);
83  bool setBoundaryVector(RObject::XYZ xyz, const QVariant& value, bool condition);
84  RVector setComponent(const RVector& p, double v, RObject::XYZ xyz);
85 
86  QPair<QVariant, RPropertyAttributes> getProperty(
87  RPropertyTypeId& propertyTypeId,
88  bool humanReadable = false, bool noAttributes = false);
89 
90  virtual void exportEntity(RExporter& e, bool preview=false) const;
91 
92  virtual RHatchData& getData() {
93  return data;
94  }
95 
96  virtual const RHatchData& getData() const {
97  return data;
98  }
99 
100  QList<RPainterPath> getPainterPaths(bool draft = false) const {
101  return data.getPainterPaths(draft);
102  }
103 
104  virtual int getComplexity() const {
105  return data.getComplexity();
106  }
107 
108  void newLoop() {
109  data.newLoop();
110  }
111 
112  void addBoundary(QSharedPointer<RShape> shape) {
113  data.addBoundary(shape);
114  }
115 
116  int getLoopCount() const {
117  return data.getLoopCount();
118  }
119 
120  bool isSolid() const {
121  return data.isSolid();
122  }
123 
124  void setSolid(bool on) {
125  data.setSolid(on);
126  }
127 
128  double getScale() const {
129  return data.getScale();
130  }
131 
132  void setScale(double s) {
133  data.setScale(s);
134  }
135 
136  double getAngle() const {
137  return data.getAngle();
138  }
139 
140  void setAngle(double a) {
141  data.setAngle(a);
142  }
143 
145  return data.getOriginPoint();
146  }
147 
148  void setOriginPoint(const RVector& op) {
149  data.setOriginPoint(op);
150  }
151 
152  QString getPatternName() const {
153  return data.getPatternName();
154  }
155 
156  void setPatternName(const QString& n) {
157  data.setPatternName(n);
158  }
159 
160  QList<QSharedPointer<RShape> > getLoopBoundary(int index) const {
161  return data.getLoopBoundary(index);
162  }
163 
164  virtual QList<QSharedPointer<RShape> > getShapes(const RBox& queryBox = RDEFAULT_RBOX) const {
165  return data.getShapes(queryBox);
166  }
167 
168  virtual QList<QSharedPointer<RShape> > getExploded() const {
169  return data.getExploded();
170  }
171 
172 protected:
173  virtual void print(QDebug dbg) const;
174 
175 protected:
177 };
178 
180 Q_DECLARE_METATYPE(QSharedPointer<RHatchEntity>)
181 Q_DECLARE_METATYPE(QSharedPointer<RHatchEntity>*)
182 
183 #endif