root / trunk / code / projects / traffic_navigation / mapping.h @ 1973
History | View | Annotate | Download (980 Bytes)
1 | 1973 | dgurjar | #include "intersectData.h" |
---|---|---|---|
2 | |||
3 | /* Data is sent in the following order
|
||
4 | * INT0_NUM OUTEDGE_0 OUTEDGE_1 ... \n
|
||
5 | * INT1_NUM OUTEDGE_0 ... \n
|
||
6 | * ...
|
||
7 | * ...
|
||
8 | */
|
||
9 | |||
10 | /* Representation of an edge (road) */
|
||
11 | typedef struct { |
||
12 | char to; /* Where does this edge lead to? */ |
||
13 | char dist; /* Where does it come from? */ |
||
14 | }edge |
||
15 | |||
16 | /* Representation of an intersection on the graph */
|
||
17 | typedef struct { |
||
18 | char type; /* Note that there are at most 5 intersection types */ |
||
19 | char intNum; /* What is the intersection number */ |
||
20 | char numOut; /* Note that we can have no more than 4 outgoing edges */ |
||
21 | char outSeen; /* The number of the outgoing edges that we have seen for this intersection */ |
||
22 | edge[4] outgoingEdges;
|
||
23 | }node |
||
24 | |||
25 | /* A union that is used in wireless transmissions */
|
||
26 | typedef union { |
||
27 | node n; |
||
28 | char array[12]; |
||
29 | }node_union |
||
30 | |||
31 | /* This array holds all of the intersections that are represented in the graph
|
||
32 | * after its creation, the graph is transmitted wirelessly */
|
||
33 | node[NUM_FEATURES] intersections; |