134 for (k = 0; k <
MAXCARD; k++) {
135 new_rtree->nb[i][
j].n.branch[k].rect.boundary =
192 for (i = 0; i <=
MAXCARD; i++) {
220 t->overflow = overflow != 0;
246 for (k = 0; k <
MAXCARD; k++) {
249 free(
t->nb[i][
j].n.branch);
253 if (
t->free_nodes.alloc)
254 free(
t->free_nodes.pos);
272 for (i = 0; i <=
MAXCARD; i++) {
363 return t->delete_rect(
r, child,
t);
void void void void G_fatal_error(const char *,...) __attribute__((format(printf
int RTreeSearchM(struct RTree *, struct RTree_Rect *, SearchHitCallback *, void *)
int RTreeInsertRectF(struct RTree_Rect *, union RTree_Child, int, struct RTree *)
int RTreeDeleteRectM(struct RTree_Rect *, union RTree_Child, struct RTree *)
int RTreeSearchF(struct RTree *, struct RTree_Rect *, SearchHitCallback *, void *)
int RTreeInsertRectM(struct RTree_Rect *, union RTree_Child, int, struct RTree *)
int RTreeDeleteRectF(struct RTree_Rect *, union RTree_Child, struct RTree *)
int RTreeValidChildM(union RTree_Child *child)
int RTreeValidChildF(union RTree_Child *)
size_t RTreeWriteNode(struct RTree_Node *n, struct RTree *t)
#define assert(condition)
void RTreeFreeNode(struct RTree_Node *n)
void RTreeDestroyNode(struct RTree_Node *n, int nodes)
struct RTree_Node * RTreeAllocNode(struct RTree *t, int level)
void RTreeFreeBoundary(struct RTree_Rect *r)
Delete the boundary of a rectangle.
RectReal * RTreeAllocBoundary(struct RTree *t)
Allocate the boundary array of a rectangle for a given tree.
int SearchHitCallback(int id, const struct RTree_Rect *rect, void *arg)
SYMBOL * err(FILE *fp, SYMBOL *s, char *msg)
int RTreeDeleteRect(struct RTree_Rect *r, int tid, struct RTree *t)
Delete an item from a R*-Tree.
void RTreeSetOverflow(struct RTree *t, char overflow)
Enable/disable R*-tree forced reinsertion (overflow)
void RTreeFreeListNode(struct RTree_ListNode *p)
void RTreeReInsertNode(struct RTree_Node *n, struct RTree_ListNode **ee)
struct RTree * RTreeCreateTree(int fd, off_t rootpos, int ndims)
Create new empty R*-Tree.
struct RTree_ListNode * RTreeNewListNode(void)
int RTreeInsertRect(struct RTree_Rect *r, int tid, struct RTree *t)
Insert an item into a R*-Tree.
void RTreeDestroyTree(struct RTree *t)
Destroy an R*-Tree.
int RTreeSearch(struct RTree *t, struct RTree_Rect *r, SearchHitCallback *shcb, void *cbarg)
Search an R*-Tree.
void RTreeFreeListBranch(struct RTree_ListBranch *p)
#define MAXLEVEL
Maximum verbosity level.