1 #pragma once |
|
2 #include "compoundobject.h" |
|
3 #include "invert.h" |
|
4 |
|
5 class Model; |
|
6 |
|
7 namespace ldraw |
|
8 { |
|
9 class SubfileReference; |
|
10 } |
|
11 |
|
12 class ldraw::SubfileReference : public CompoundObject |
|
13 { |
|
14 public: |
|
15 SubfileReference() = default; |
|
16 SubfileReference( |
|
17 const glm::mat4& transformation, |
|
18 const QString &referenceName, |
|
19 const Color color = ldraw::MAIN_COLOR); |
|
20 QVariant getProperty(Property property) const override; |
|
21 QString textRepresentation() const override; |
|
22 void getPolygons(std::vector<gl::Polygon>& polygons, GetPolygonsContext* context) const override; |
|
23 Model* resolve(const ModelId callingModelId, DocumentManager* documents) const; |
|
24 Type typeIdentifier() const override; |
|
25 QDataStream& serialize(QDataStream& stream) const override; |
|
26 QDataStream& deserialize(QDataStream& stream) override; |
|
27 QString toLDrawCode() const override; |
|
28 QString iconName() const override; |
|
29 QString typeName() const override; |
|
30 QString referenceName; |
|
31 protected: |
|
32 void setProperty(SetPropertyResult* result, const PropertyKeyValue& pair) override; |
|
33 }; |
|