src/linetypes/triangle.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 Triangle; 6 class Triangle;
7 } 7 }
8 8
9 class ldraw::Triangle : public ColoredObject 9 class ldraw::Triangle : public PolygonObject<3>
10 { 10 {
11 public: 11 public:
12 Triangle() = default; 12 using PolygonObject<3>::PolygonObject;
13 Triangle(
14 const glm::vec3 &point_1,
15 const glm::vec3 &point_2,
16 const glm::vec3 &point_3,
17 Color colorIndex = ldraw::mainColor);
18 Triangle(const std::array<glm::vec3, 3>& vertices, const Color color);
19 Triangle(const glm::vec3 (&vertices)[3], 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[3] = {{}};
27 protected:
28 void setProperty(SetPropertyResult* result, const PropertyKeyValue& pair) override;
29 }; 16 };
30 17

mercurial