48 lines
1.0 KiB
C
48 lines
1.0 KiB
C
#include <stdio.h>
|
|
#include "dijkstrasearch.h"
|
|
#include <glib/glist.h>
|
|
|
|
|
|
int main()
|
|
{
|
|
GList *nodes = NULL;
|
|
GList *paths = NULL;
|
|
|
|
GList *l = NULL;
|
|
struct dijkstra_node *node;
|
|
struct dijkstra_path *path;
|
|
|
|
dijkstra_path_new_to_list(&nodes,
|
|
&paths,
|
|
0,0,
|
|
0,10,
|
|
"Vertical",
|
|
1);
|
|
|
|
dijkstra_path_new_to_list(&nodes,
|
|
&paths,
|
|
0,5,
|
|
10,5,
|
|
"Horizontal",
|
|
1);
|
|
|
|
for (l = nodes; l != NULL; l = l->next) {
|
|
node = (struct dijkstra_node*) l->data;
|
|
printf("Node %p: %f,\t%f [%d paths]\n", node, node->position.x, node->position.y, g_list_length(node->paths));
|
|
}
|
|
printf("\n");
|
|
|
|
for (l = paths; l != NULL; l = l->next) {
|
|
path = (struct dijkstra_path*) l->data;
|
|
printf("Path %p: %p (%f,%f) -> %p (%f,%f) \t\"%s\"\n", path,
|
|
path->source, path->source->position.x, path->source->position.y,
|
|
path->destination, path->destination->position.x, path->destination->position.y,
|
|
path->name);
|
|
}
|
|
|
|
printf("\nDone.\n");
|
|
|
|
// TODO: Free memory
|
|
return 0;
|
|
}
|