root / trunk / code / projects / traffic_navigation / mapping.h @ 1973
History  View  Annotate  Download (980 Bytes)
1 
#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; 