38 lines
924 B
C
38 lines
924 B
C
#ifndef ROUTING4SITA_H
|
|
#define ROUTING4SITA_H
|
|
|
|
#define MAX_CHILDREN 3
|
|
#define MAX_DEPTH 4
|
|
|
|
typedef struct node NODE_t;
|
|
typedef struct threadData THREAD_DATA_t;
|
|
typedef struct bestPath BESTPATH_t;
|
|
|
|
|
|
extern NODE_t* getStartNode();
|
|
|
|
struct node {
|
|
int id; //identifier for this node
|
|
int nodescount; //how many children nodes
|
|
NODE_t* nodesnext[MAX_CHILDREN]; //array of children nodes
|
|
int nodescost[MAX_CHILDREN]; //array of cost per children node
|
|
};
|
|
|
|
|
|
struct threadData {
|
|
int depth; //depth of the next node, e.g. start --> 0
|
|
NODE_t* node; //next node to go
|
|
int cost; //cost for the next node
|
|
int predecessors[MAX_DEPTH]; // array with all predecessor
|
|
BESTPATH_t* bestpath;
|
|
};
|
|
|
|
|
|
struct bestPath {
|
|
int lowestCost;
|
|
int predecessorsBestPath[MAX_DEPTH]; // array with all predecessor of the best path
|
|
int depth; //depth of the best path, aka. how many nodes
|
|
};
|
|
|
|
#endif /* ROUTING4SITA_H */
|