25 #define QUADTREE_NODE_CAPACITY 10
struct _GList GList
Definition: navit.h:30
struct quadtree_node * quadtree_find_containing_node(struct quadtree_node *root, struct quadtree_item *item)
Definition: quadtree.c:211
struct quadtree_node * quadtree_node_new(struct quadtree_node *parent, double xmin, double xmax, double ymin, double ymax)
Definition: quadtree.c:66
void quadtree_find_rect_items(struct quadtree_node *this_, double dXMin, double dXMax, double dYMin, double dYMax, GList **out)
Definition: quadtree.c:80
struct quadtree_data * quadtree_data_dup(struct quadtree_data *qdata)
Definition: csv.c:62
struct quadtree_item * quadtree_find_nearest_flood(struct quadtree_node *this_, struct quadtree_item *item, double current_max, struct quadtree_node *toSkip)
Definition: quadtree.c:114
void quadtree_item_delete(struct quadtree_iter *iter)
Definition: quadtree.c:579
struct quadtree_item * quadtree_find_nearest(struct quadtree_node *this_, struct quadtree_item *item)
Definition: quadtree.c:281
#define QUADTREE_NODE_CAPACITY
Definition: quadtree.h:25
void quadtree_split(struct quadtree_node *this_)
Definition: quadtree.c:457
int quadtree_delete_item(struct quadtree_node *root, struct quadtree_item *item)
Definition: quadtree.c:258
void quadtree_add(struct quadtree_node *this_, struct quadtree_item *item, struct quadtree_iter *iter)
Add new node to quadtree.
Definition: quadtree.c:387
void quadtree_node_drop_garbage(struct quadtree_node *node, struct quadtree_iter *iter)
Free space occupied by deleted unreferenced items.
Definition: quadtree.c:359
void quadtree_query_free(struct quadtree_iter *iter)
Definition: quadtree.c:567
void quadtree_destroy(struct quadtree_node *this_)
Definition: quadtree.c:503
struct quadtree_item * quadtree_item_next(struct quadtree_iter *iter)
Definition: quadtree.c:589
struct quadtree_iter * quadtree_query(struct quadtree_node *this_, double dXMin, double dXMax, double dYMin, double dYMax, void(*item_free)(void *context, struct quadtree_item *qitem), void *context)
Definition: quadtree.c:534
struct quadtree_item * quadtree_find_item(struct quadtree_node *this_, struct quadtree_item *item)
Definition: quadtree.c:160
Represents an object on a map.
Definition: item.h:115
Definition: gpx2navit_txt.h:51
Definition: quadtree.h:27
double latitude
Definition: quadtree.h:29
int deleted
Definition: quadtree.h:31
void * data
Definition: quadtree.h:32
int ref_count
Definition: quadtree.h:30
double longitude
Definition: quadtree.h:28
Definition: quadtree.c:36
void(* item_free)(void *context, struct quadtree_item *qitem)
Definition: quadtree.c:42
Definition: quadtree.h:35
struct quadtree_node * aa
Definition: quadtree.h:38
double xmin
Definition: quadtree.h:42
struct quadtree_node * ab
Definition: quadtree.h:39
struct quadtree_item * items[QUADTREE_NODE_CAPACITY]
Definition: quadtree.h:37
int node_num
Definition: quadtree.h:36
double ymin
Definition: quadtree.h:42
struct quadtree_node * parent
Definition: quadtree.h:44
double xmax
Definition: quadtree.h:42
struct quadtree_node * ba
Definition: quadtree.h:40
int ref_count
Definition: quadtree.h:45
struct quadtree_node * bb
Definition: quadtree.h:41
double ymax
Definition: quadtree.h:42
int is_leaf
Definition: quadtree.h:43