| |
1 #include "edge.h" |
| |
2 |
| |
3 linetypes::Edge::Edge( |
| |
4 const Vertex& point_1, |
| |
5 const Vertex& point_2, |
| |
6 const Color color_index) : |
| |
7 ColoredObject{color_index}, |
| |
8 point_1{point_1}, |
| |
9 point_2{point_2} {} |
| |
10 |
| |
11 linetypes::Edge::Edge(const QVector<Vertex>& vertices, const Color color) : |
| |
12 ColoredObject{color}, |
| |
13 point_1{vertices[0]}, |
| |
14 point_2{vertices[1]} |
| |
15 { |
| |
16 } |
| |
17 |
| |
18 QVariant linetypes::Edge::getProperty(Property property) const |
| |
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 |
| |
31 auto linetypes::Edge::setProperty(Property property, const QVariant& value) |
| |
32 -> SetPropertyResult |
| |
33 { |
| |
34 switch (property) |
| |
35 { |
| |
36 case Property::Point1: |
| |
37 point_1 = value.value<Vertex>(); |
| |
38 return SetPropertyResult::Success; |
| |
39 case Property::Point2: |
| |
40 point_2 = value.value<Vertex>(); |
| |
41 return SetPropertyResult::Success; |
| |
42 default: |
| |
43 return BaseClass::setProperty(property, value); |
| |
44 } |
| |
45 } |
| |
46 |
| |
47 QString linetypes::Edge::textRepresentation() const |
| |
48 { |
| |
49 return utility::format("%1 %2", vertexToStringParens(point_1), vertexToStringParens(point_2)); |
| |
50 } |