summaryrefslogtreecommitdiff
path: root/navit/map/csv/quadtree.h
diff options
context:
space:
mode:
authortegzed <tegzed@ffa7fe5e-494d-0410-b361-a75ebd5db220>2011-01-05 20:15:30 +0000
committertegzed <tegzed@ffa7fe5e-494d-0410-b361-a75ebd5db220>2011-01-05 20:15:30 +0000
commit0ca87730e8d4aa243890a341f9f679c3eeeb9762 (patch)
treea409b8cc714e48811e6b0b19432b44a94ddd0600 /navit/map/csv/quadtree.h
parent67290e88fa1ca03b1cdf696914c85ff5402625d2 (diff)
downloadnavit-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.h36
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