|
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 } |