#ifndef DIJKSTRAGRAPH_H #define DIJKSTRAGRAPH_H #include typedef int dijkstra_cost; struct dijkstra_solver { GList *nodes; GList *paths; }; struct dijkstra_state { dijkstra_cost cost; int visited; }; struct position { float x; float y; }; struct dijkstra_path { struct dijkstra_node *source; struct dijkstra_node *destination; char *name; dijkstra_cost weight; }; struct dijkstra_node { struct position position; GList *paths; int uid; }; struct dijkstra_path *dijkstra_path_new_to_list(struct dijkstra_solver *solver, float x1, float y1, float x2, float y2, char *name, dijkstra_cost weight); struct dijkstra_solver *dijkstra_solver_new(); void dijkstra_solver_free(struct dijkstra_solver *solver); #endif // DIJKSTRAGRAPH_H