QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RBlockReferenceEntity.h
Go to the documentation of this file.
1 
20 #ifndef RBLOCKREFERENCEENTITY_H
21 #define RBLOCKREFERENCEENTITY_H
22 
23 #include "core_global.h"
24 
25 #include "REntity.h"
26 #include "RBlockReferenceData.h"
27 
28 class RDocument;
29 class RExporter;
30 
39 
40 public:
50 
59 
60 public:
62  RObject::Id objectId = RObject::INVALID_ID);
63  virtual ~RBlockReferenceEntity();
64 
65  static void init();
66 
67  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
69  }
70 
71  virtual RBlockReferenceEntity* clone() const {
72  return new RBlockReferenceEntity(*this);
73  }
74 
75  virtual RS::EntityType getType() const {
76  return RS::EntityBlockRef;
77  }
78 
79  virtual QSet<RPropertyTypeId> getPropertyTypeIds() const;
80 
81  virtual bool setProperty(RPropertyTypeId propertyTypeId,
82  const QVariant& value, RTransaction* transaction=NULL);
83  virtual QPair<QVariant, RPropertyAttributes> getProperty(
84  RPropertyTypeId& propertyTypeId,
85  bool humanReadable = false, bool noAttributes = false);
86 
87 // virtual void setSelected(bool on);
88 
89  virtual void exportEntity(RExporter& e, bool preview = false) const;
90 
92  return data;
93  }
94 
95  virtual const RBlockReferenceData& getData() const {
96  return data;
97  }
98 
99  RVector getPosition() const {
100  return data.getPosition();
101  }
102 
104  return data.getScaleFactors();
105  }
106 
107  double getRotation() const {
108  return data.getRotation();
109  }
110 
112  data.setReferencedBlockId(blockId);
113  }
114 
116  return data.getReferencedBlockId();
117  }
118 
119  QString getReferencedBlockName() const {
120  return data.getReferencedBlockName();
121  }
122 
123  //virtual bool rotate(double rotation, const RVector& center = RDEFAULT_RVECTOR);
124 
125  virtual void update() const {
126  data.update();
127  }
128 
129  void update(REntity::Id entityId) const {
130  data.update(entityId);
131  }
132 
133  QSharedPointer<REntity> queryEntity(REntity::Id entityId) const {
134  return data.queryEntity(entityId);
135  }
136 
137  bool applyTransformationTo(REntity& entity) const {
138  return data.applyTransformationTo(entity);
139  }
140 
144  virtual void print(QDebug dbg) const;
145 
146 protected:
148  mutable int recursionDepth;
149 };
150 
155 
156 #endif