diff options
author | tegzed <tegzed@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2011-01-05 20:15:30 +0000 |
---|---|---|
committer | tegzed <tegzed@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2011-01-05 20:15:30 +0000 |
commit | 0ca87730e8d4aa243890a341f9f679c3eeeb9762 (patch) | |
tree | a409b8cc714e48811e6b0b19432b44a94ddd0600 /navit/map/csv/quadtree.h | |
parent | 67290e88fa1ca03b1cdf696914c85ff5402625d2 (diff) | |
download | navit-0ca87730e8d4aa243890a341f9f679c3eeeb9762.tar.gz |
Add:map/csv:Added initial version of csv map driver
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@3868 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/map/csv/quadtree.h')
-rw-r--r-- | navit/map/csv/quadtree.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/navit/map/csv/quadtree.h b/navit/map/csv/quadtree.h new file mode 100644 index 000000000..9bc74cce3 --- /dev/null +++ b/navit/map/csv/quadtree.h @@ -0,0 +1,36 @@ +#ifndef QUADTREE_H +#define QUADTREE_H + +#include <glib.h> + +#define QUADTREE_NODE_CAPACITY 10 + +struct quadtree_item { + double longitude; + double latitude; + void* data; +}; + +struct quadtree_node { + int node_num; + struct quadtree_item items[QUADTREE_NODE_CAPACITY]; + struct quadtree_node *aa; + struct quadtree_node *ab; + struct quadtree_node *ba; + struct quadtree_node *bb; + double xmin, xmax, ymin, ymax; + int is_leaf; + struct quadtree_node*parent; +}; + +struct quadtree_node* quadtree_node_new(struct quadtree_node* parent, double xmin, double xmax, double ymin, double ymax ); +struct quadtree_item* quadtree_find_nearest_flood(struct quadtree_node* this_, struct quadtree_item* item, double current_max, struct quadtree_node* toSkip); +struct quadtree_item* quadtree_find_nearest(struct quadtree_node* this_, struct quadtree_item* item); +void quadtree_find_rect_items(struct quadtree_node* this_, double dXMin, double dXMax, double dYMin, double dYMax, GList**out); +void quadtree_split(struct quadtree_node* this_); +void quadtree_add(struct quadtree_node* this_, struct quadtree_item* item); +void quadtree_destroy(struct quadtree_node* this_); + + + +#endif |