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.