#ifndef DIJKSTRASEARCH_H #define DIJKSTRASEARCH_H #include typedef int dijkstra_cost; 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; dijkstra_cost cost; }; struct dijkstra_node *dijkstra_node_new(float x, float y); struct dijkstra_path *dijkstra_path_new(char *name, struct dijkstra_node *source, struct dijkstra_node *destination, dijkstra_cost weight); int dijkstra_path_intersect(GList **nodes, GList **paths, struct dijkstra_path *path_a, struct dijkstra_path *path_b); struct dijkstra_path *dijkstra_path_new_to_list(GList **nodes, GList **paths, float x1, float y1, float x2, float y2, char *name, dijkstra_cost weight); #endif // DIJKSTRASEARCH_H