Files Format
Graphs :
Non oriented plane multi-graphs (i.e., there can be multiple edges)
Nodes are numbered 0,1,...,nb_node-1 (no hole)
Edges indexes are 0,..., nb_edge-1
Notation: (a,b):id is edge (a,b) with index id.
Even if graphs are not oriented, they are represented by oriented
graphs. This means that for each edge (a,b), there are indeed two edges
(a,b):id and (b,a):id with the same index id and the same label.
These "two" edges are called equivalent edges.
There are normal and inclusion edges. An inclusion edge (a,b) means that
region b is included in region a. Other edges are normal.
If (a,b):id is an inclusion edge, the equivalent edge (b,a):id is a normal edge.
The normal edges (a,b) with the same "a" are in a circular list in
counter-clockwise order around the node. Some nodes are located on the
outer face. In this case, this list is not circular.
Encoding of graphs in files :
- Iso-latin-1 character set (no utf8 or other multi-byte character set).
- End of line is "\n".
- On each line, the field separator is space " ".
- No tabs or other strange characters.
Line formats (depending on the first character):
# ...
: comment line (ignored by all algos)
t <id>
: 1st line of a new graph. In input graphs, id is the frame number.
n <nb_edge>
: 2nd line of a new graph, which gives the highest index of edges +1.
v <index> <label> <outer face?> <x> <y> <size of the region> <R> <G> <B>
: nodes (the 3 last fields form the color of the region)
<outer face?> is 1 if the node lies on the outer face of the graph and 0 otherwise.
e <origin node index> <destination node index> <label> <edge index> <size of the border>
: normal edges
i <origin node index> <destination node index> <label> <edge index> <size of the border>
: inclusion edges
Order of lines for each graph :
- the t line
- the n line
- all v lines: increasing order of indices (from 0, no hole)
- all e and i lines in increasing order of originating node indices.
For each originating node:
- first come the e lines in counter-clockwise order (if the vertex does
not lie on the outer face, the list of the edges for each vertex is
circular).
- then come the i lines in no particular order.