33 #include "libavoid/vertices.h" 42 typedef std::list<int> ShapeList;
43 typedef std::list<bool *> FlagList;
49 EdgeInf(VertInf *v1, VertInf *v2,
const bool orthogonal =
false);
51 inline double getDist(
void)
55 void setDist(
double dist);
56 void alertConns(
void);
57 void addConn(
bool *flag);
58 void addCycleBlocker(
void);
59 void addBlocker(
int b);
61 bool isOrthogonal(
void)
const;
62 bool isDummyConnection(
void)
const;
63 bool isDisabled(
void)
const;
64 void setDisabled(
const bool disabled);
65 bool rotationLessThan(
const VertInf* last,
const EdgeInf *rhs)
const;
66 std::pair<VertID, VertID> ids(
void)
const;
67 std::pair<Point, Point> points(
void)
const;
70 VertInf *otherVert(
const VertInf *vert)
const;
71 static EdgeInf *checkEdgeVisibility(VertInf *i, VertInf *j,
72 bool knownNew =
false);
73 static EdgeInf *existingEdge(VertInf *i, VertInf *j);
74 int blocker(
void)
const;
76 bool isHyperedgeSegment(
void)
const;
77 void setHyperedgeSegment(
const bool hyperedge);
78 double mtstDist(
void)
const;
79 void setMtstDist(
const double joinCost);
84 friend class MinimumTerminalSpanningTree;
87 void makeActive(
void);
88 void makeInactive(
void);
89 int firstBlocker(
void);
90 bool isBetween(VertInf *i, VertInf *j);
97 bool m_isHyperedgeSegment;
101 EdgeInfList::iterator m_pos1;
102 EdgeInfList::iterator m_pos2;
112 friend class EdgeInf;
113 EdgeList(
bool orthogonal =
false);
116 EdgeInf *begin(
void);
118 int size(
void)
const;
120 void addEdge(EdgeInf *edge);
121 void removeEdge(EdgeInf *edge);
124 EdgeInf *m_first_edge;
125 EdgeInf *m_last_edge;
126 unsigned int m_count;
libavoid: Object-avoiding orthogonal and polyline connector routing library.
Definition: actioninfo.cpp:33