4 namespace ldraw |
4 namespace ldraw |
5 { |
5 { |
6 class Quadrilateral; |
6 class Quadrilateral; |
7 } |
7 } |
8 |
8 |
9 class ldraw::Quadrilateral : public ColoredObject |
9 class ldraw::Quadrilateral : public PolygonObject<4> |
10 { |
10 { |
11 public: |
11 public: |
12 Quadrilateral() = default; |
12 using PolygonObject<4>::PolygonObject; |
13 Quadrilateral( |
|
14 const glm::vec3 &point_1, |
|
15 const glm::vec3 &point_2, |
|
16 const glm::vec3 &point_3, |
|
17 const glm::vec3 &point_4, |
|
18 Color colorIndex = ldraw::mainColor); |
|
19 Quadrilateral(const std::array<glm::vec3, 4>& vertices, const Color color); |
|
20 QVariant getProperty(Property id) const override; |
|
21 QString textRepresentation() const override; |
13 QString textRepresentation() const override; |
22 void getPolygons(std::vector<gl::Polygon>& polygons, GetPolygonsContext* context) const override; |
14 void getPolygons(std::vector<gl::Polygon>& polygons, GetPolygonsContext* context) const override; |
23 void invert() override; |
15 void invert() override; |
24 int numPoints() const override; |
|
25 const glm::vec3& getPoint(int index) const override; |
|
26 glm::vec3 points[4] = {{}}; |
|
27 protected: |
|
28 void setProperty(SetPropertyResult* result, const PropertyKeyValue& pair) override; |
|
29 }; |
16 }; |