23 #include <sys/types.h>
45 #define NODECARD MAXCARD
46 #define LEAFCARD MAXCARD
52 #define NODE_BUFFER_SIZE 32
197 double x_max,
double y_min,
double y_max);
199 double x_max,
double y_min,
double y_max,
double z_min,
202 double x_max,
double y_min,
double y_max,
double z_min,
203 double z_max,
double t_min,
double t_max);
void RTreeFreeNode(struct RTree_Node *)
RectReal * RTreeAllocBoundary(struct RTree *t)
Allocate the boundary array of a rectangle for a given tree.
void RTreeFreeRect(struct RTree_Rect *r)
Delete a rectangle.
size_t RTreeWriteNode(struct RTree_Node *, struct RTree *)
void RTreeDestroyNode(struct RTree_Node *, int)
int RTreeContains(struct RTree_Rect *, struct RTree_Rect *, struct RTree *)
int SearchHitCallback(int id, const struct RTree_Rect *rect, void *arg)
void RTreeInitNode(struct RTree *, struct RTree_Node *, int)
struct RTree_Node * RTreeAllocNode(struct RTree *, int)
int rt_delete_fn(struct RTree_Rect *, union RTree_Child, struct RTree *)
int RTreeDeleteRect(struct RTree_Rect *, int, struct RTree *)
Delete an item from a R*-Tree.
void RTreeFlushBuffer(struct RTree *)
int rt_insert_fn(struct RTree_Rect *, union RTree_Child, int, struct RTree *)
int RTreeContained(struct RTree_Rect *, struct RTree_Rect *, struct RTree *)
int RTreeSearch(struct RTree *, struct RTree_Rect *, SearchHitCallback *, void *)
Search an R*-Tree.
struct RTree * RTreeCreateTree(int, off_t, int)
Create new empty R*-Tree.
struct RTree_Rect * RTreeAllocRect(struct RTree *t)
Create a new rectangle for a given tree.
int rt_search_fn(struct RTree *, struct RTree_Rect *, SearchHitCallback *, void *)
size_t RTreeReadNode(struct RTree_Node *, off_t, struct RTree *)
void RTreeFreeBoundary(struct RTree_Rect *r)
Delete the boundary of a rectangle.
void RTreeSetRect1D(struct RTree_Rect *r, struct RTree *t, double x_min, double x_max)
Set one dimensional coordinates of a rectangle for a given tree.
int RTreeOverlap(struct RTree_Rect *, struct RTree_Rect *, struct RTree *)
void RTreeSetRect2D(struct RTree_Rect *r, struct RTree *t, double x_min, double x_max, double y_min, double y_max)
Set two dimensional coordinates of a rectangle for a given tree.
void RTreeSetRect4D(struct RTree_Rect *r, struct RTree *t, double x_min, double x_max, double y_min, double y_max, double z_min, double z_max, double t_min, double t_max)
Set 4 dimensional coordinates of a rectangle for a given tree.
int rt_valid_child_fn(union RTree_Child *)
int RTreeInsertRect(struct RTree_Rect *, int, struct RTree *)
Insert an item into a R*-Tree.
off_t RTreeGetNodePos(struct RTree *)
void RTreePrintRect(struct RTree_Rect *, int, struct RTree *)
void RTreeDestroyTree(struct RTree *)
Destroy an R*-Tree.
void RTreeSetOverflow(struct RTree *, char)
Enable/disable R*-tree forced reinsertion (overflow)
void RTreeSetRect3D(struct RTree_Rect *r, struct RTree *t, double x_min, double x_max, double y_min, double y_max, double z_min, double z_max)
Set three dimensional coordinates of a rectangle for a given tree.
void RTreeCopyNode(struct RTree_Node *, struct RTree_Node *, struct RTree *)
struct RTree_Branch * branch
struct RTree_Rect cover[2]
unsigned char ndims_alloc
struct RTree::_recycle free_nodes
struct RTree_Rect rect_0 rect_1 upperrect orect
struct RTree_Branch tmpb1 tmpb2 c
struct RTree_Branch * BranchBuf
rt_delete_fn * delete_rect
rt_search_fn * search_rect
unsigned char nsides_alloc
rt_valid_child_fn * valid_child
rt_insert_fn * insert_rect
struct RTree_PartitionVars p