src/linetypes/edge.cpp

changeset 14
20d2ed3af73d
parent 13
6e838748867b
child 18
918b6c0f8b5b
equal deleted inserted replaced
13:6e838748867b 14:20d2ed3af73d
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 }

mercurial