src/linetypes/quadrilateral.h

changeset 87
93ec4d630346
parent 86
4bec0525ef1b
child 89
7abaf1d64719
equal deleted inserted replaced
86:4bec0525ef1b 87:93ec4d630346
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 };

mercurial