Sun, 19 Jan 2020 02:54:48 +0200
commit work on GL rendering
3 | 1 | #include "edge.h" |
2 | ||
13 | 3 | linetypes::Edge::Edge( |
18 | 4 | const Point3D& point_1, |
5 | const Point3D& point_2, | |
3 | 6 | const Color color_index) : |
13 | 7 | ColoredObject{color_index}, |
3 | 8 | point_1{point_1}, |
9 | point_2{point_2} {} | |
10 | ||
18 | 11 | linetypes::Edge::Edge(const QVector<Point3D>& vertices, const Color color) : |
13 | 12 | ColoredObject{color}, |
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
13 | point_1{vertices[0]}, |
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
14 | point_2{vertices[1]} |
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
15 | { |
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
16 | } |
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
17 | |
13 | 18 | QVariant linetypes::Edge::getProperty(Property property) const |
3 | 19 | { |
20 | switch (property) | |
21 | { | |
22 | case Property::Point1: | |
23 | return point_1; | |
24 | case Property::Point2: | |
25 | return point_2; | |
26 | default: | |
27 | return BaseClass::getProperty(property); | |
28 | } | |
29 | } | |
30 | ||
13 | 31 | auto linetypes::Edge::setProperty(Property property, const QVariant& value) |
3 | 32 | -> SetPropertyResult |
33 | { | |
34 | switch (property) | |
35 | { | |
36 | case Property::Point1: | |
18 | 37 | point_1 = value.value<Point3D>(); |
3 | 38 | return SetPropertyResult::Success; |
39 | case Property::Point2: | |
18 | 40 | point_2 = value.value<Point3D>(); |
3 | 41 | return SetPropertyResult::Success; |
42 | default: | |
43 | return BaseClass::setProperty(property, value); | |
44 | } | |
45 | } | |
6 | 46 | |
13 | 47 | QString linetypes::Edge::textRepresentation() const |
6 | 48 | { |
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
49 | return utility::format("%1 %2", vertexToStringParens(point_1), vertexToStringParens(point_2)); |
6 | 50 | } |
21 | 51 | |
52 | void linetypes::Edge::getPolygons( | |
53 | std::vector<gl::Polygon>& polygons, | |
54 | GetPolygonsContext* context) const | |
55 | { | |
56 | Q_UNUSED(context) | |
57 | polygons.push_back(gl::edgeLine(this->point_1, this->point_2, this->colorIndex, this->id)); | |
58 | } |