MCPcopy Create free account
hub / github.com/DFHack/dfhack / Edge

Class Edge

plugins/diggingInvaders/edgeCost.h:48–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46*/
47
48class Edge {
49public:
50 //static map<df::coord, int32_t> pointCost;
51 df::coord p1;
52 df::coord p2;
53 cost_t cost;
54 Edge() {
55 cost = -1;
56 }
57 Edge(const Edge& e): p1(e.p1), p2(e.p2), cost(e.cost) {
58
59 }
60 Edge(df::coord p1In, df::coord p2In, cost_t costIn): cost(costIn) {
61 if ( p2In < p1In ) {
62 p1 = p2In;
63 p2 = p1In;
64 } else {
65 p1 = p1In;
66 p2 = p2In;
67 }
68 }
69
70 bool operator==(const Edge& e) const {
71 return (cost == e.cost && p1 == e.p1 && p2 == e.p2);
72 }
73
74 bool operator<(const Edge& e) const {
75 if ( cost != e.cost )
76 return cost < e.cost;
77 if ( p1.z != e.p1.z )
78 return p1.z < e.p1.z;
79 if ( p1 != e.p1 )
80 return p1 < e.p1;
81 if ( p2.z != e.p2.z )
82 return p2.z < e.p2.z;
83 if ( p2 != e.p2 )
84 return p2 < e.p2;
85 return false;
86 }
87};
88
89struct PointHash {
90 size_t operator()(const df::coord c) const {

Callers 1

findAndAssignInvasionJobFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected