#include class RoadMap: public Object { GDCLASS(RoadMap, Object) public: RoadMap(); ~RoadMap(); static RoadMap *get_singleton(); static void create_singleton(); static void destroy_singleton(); protected: Vector vertices; struct segment { int v1, v2; uint32_t flags; }; Vector segments; struct intersection { #define MAX_NEIGHBORS 4 int neighbors[MAX_NEIGHBORS]; int ncount; uint32_t flags; }; Vector intersections; /* cylindric area to define road */ struct area { int x, z; int radius; int type; }; Vector areas; };