Go to the source code of this file.
Data Structures | |
struct | Rect |
struct | Branch |
struct | Node |
struct | ListNode |
Defines | |
#define | PGSIZE 512 |
#define | NUMDIMS 3 |
#define | NDEBUG |
#define | TRUE 1 |
#define | FALSE 0 |
#define | NUMSIDES 2*NUMDIMS |
#define | MAXCARD (int)((PGSIZE-(2*sizeof(int))) / sizeof(struct Branch)) |
Typedefs | |
typedef double | RectReal |
typedef int(* | SearchHitCallback )(int id, void *arg) |
Functions | |
int | RTreeSearch (struct Node *, struct Rect *, SearchHitCallback, void *) |
int | RTreeInsertRect (struct Rect *, int, struct Node **, int depth) |
int | RTreeDeleteRect (struct Rect *, int, struct Node **) |
struct Node * | RTreeNewIndex (void) |
struct Node * | RTreeNewNode (void) |
void | RTreeInitNode (struct Node *) |
void | RTreeFreeNode (struct Node *) |
void | RTreeDestroyNode (struct Node *) |
void | RTreePrintNode (struct Node *, int) |
void | RTreeTabIn (int) |
struct Rect | RTreeNodeCover (struct Node *) |
void | RTreeInitRect (struct Rect *) |
struct Rect | RTreeNullRect (void) |
RectReal | RTreeRectArea (struct Rect *) |
RectReal | RTreeRectSphericalVolume (struct Rect *R) |
RectReal | RTreeRectVolume (struct Rect *R) |
struct Rect | RTreeCombineRect (struct Rect *, struct Rect *) |
int | RTreeOverlap (struct Rect *, struct Rect *) |
void | RTreePrintRect (struct Rect *, int) |
int | RTreeAddBranch (struct Branch *, struct Node *, struct Node **) |
int | RTreePickBranch (struct Rect *, struct Node *) |
void | RTreeDisconnectBranch (struct Node *, int) |
void | RTreeSplitNode (struct Node *, struct Branch *, struct Node **) |
int | RTreeSetNodeMax (int) |
int | RTreeSetLeafMax (int) |
int | RTreeGetNodeMax (void) |
int | RTreeGetLeafMax (void) |
#define FALSE 0 |
Definition at line 35 of file index.h.
Referenced by dig_init_portable(), RTreeContained(), RTreeOverlap(), Vect_cat_in_array(), Vect_cat_in_cat_list(), and Vect_read_dblinks().
#define MAXCARD (int)((PGSIZE-(2*sizeof(int))) / sizeof(struct Branch)) |
#define NUMDIMS 3 |
#define NUMSIDES 2*NUMDIMS |
#define TRUE 1 |
Definition at line 32 of file index.h.
Referenced by dig_init_portable(), RTreeContained(), RTreeOverlap(), Vect_cat_in_array(), and Vect_cat_in_cat_list().
typedef int(* SearchHitCallback)(int id, void *arg) |
Definition at line 179 of file node.c.
References Node::branch, Branch::child, Node::count, MAXKIDS, and RTreeSplitNode().
Referenced by RTreeInsertRect().
Definition at line 302 of file rect.c.
References Rect::boundary, MAX, MIN, and Undefined.
Referenced by RTreeNodeCover(), and RTreePickBranch().
Definition at line 273 of file index.c.
References Node::branch, Branch::child, Node::level, MAXKIDS, ListNode::next, ListNode::node, Branch::rect, RTreeFreeNode(), and RTreeInsertRect().
Referenced by dig_spidx_del_area(), dig_spidx_del_isle(), dig_spidx_del_line(), dig_spidx_del_node(), and Vect_spatial_index_del_item().
void RTreeDestroyNode | ( | struct Node * | ) |
Definition at line 221 of file node.c.
References Node::branch, Branch::child, Node::level, NODECARD, RTreeDestroyNode(), and RTreeFreeNode().
Referenced by dig_spidx_free_areas(), dig_spidx_free_isles(), dig_spidx_free_lines(), dig_spidx_free_nodes(), RTreeDestroyNode(), Vect_break_polygons(), Vect_line_check_intersection(), Vect_line_intersection(), Vect_snap_lines(), and Vect_spatial_index_destroy().
void RTreeDisconnectBranch | ( | struct Node * | , | |
int | ||||
) |
Definition at line 211 of file node.c.
References Node::branch, Branch::child, Node::count, and MAXKIDS.
void RTreeFreeNode | ( | struct Node * | ) |
void RTreeInitNode | ( | struct Node * | ) |
Definition at line 31 of file node.c.
References Node::branch, Node::count, Node::level, and MAXCARD.
Referenced by RTreeNewNode().
void RTreeInitRect | ( | struct Rect * | ) |
Definition at line 37 of file rect.c.
References Rect::boundary, and NUMSIDES.
Referenced by RTreeNodeCover().
Definition at line 142 of file index.c.
References Rect::boundary, Branch::child, Node::level, NUMDIMS, Branch::rect, RTreeAddBranch(), RTreeNewNode(), and RTreeNodeCover().
Referenced by dig_spidx_add_area(), dig_spidx_add_isle(), dig_spidx_add_line(), dig_spidx_add_node(), main(), RTreeDeleteRect(), Vect_break_polygons(), Vect_line_check_intersection(), Vect_line_intersection(), Vect_snap_lines(), and Vect_spatial_index_add_item().
struct Node* RTreeNewIndex | ( | void | ) | [read] |
Definition at line 24 of file index.c.
References Node::level, and RTreeNewNode().
Referenced by dig_spidx_free_areas(), dig_spidx_free_isles(), dig_spidx_free_lines(), dig_spidx_free_nodes(), dig_spidx_init(), main(), Vect_break_polygons(), Vect_line_check_intersection(), Vect_line_intersection(), Vect_snap_lines(), and Vect_spatial_index_init().
struct Node* RTreeNewNode | ( | void | ) | [read] |
Definition at line 42 of file node.c.
References RTreeInitNode().
Referenced by rtree_read_branch(), RTreeInsertRect(), RTreeNewIndex(), and RTreeSplitNode().
Definition at line 107 of file node.c.
References Node::branch, Branch::child, MAXKIDS, N, Branch::rect, RTreeCombineRect(), and RTreeInitRect().
Referenced by RTreeInsertRect().
struct Rect RTreeNullRect | ( | void | ) | [read] |
Definition at line 328 of file rect.c.
References Rect::boundary, FALSE, and TRUE.
Referenced by RTreeSearch().
Definition at line 136 of file node.c.
References Node::branch, Branch::child, MAXKIDS, Branch::rect, RTreeCombineRect(), and RTreeRectSphericalVolume().
void RTreePrintNode | ( | struct Node * | , | |
int | ||||
) |
void RTreePrintRect | ( | struct Rect * | , | |
int | ||||
) |
Definition at line 251 of file rect.c.
References Rect::boundary, and Undefined.
Referenced by RTreePickBranch().
int RTreeSearch | ( | struct Node * | , | |
struct Rect * | , | |||
SearchHitCallback | , | |||
void * | ||||
) |
Definition at line 37 of file index.c.
References Node::branch, Branch::child, LEAFCARD, Node::level, NODECARD, Branch::rect, RTreeOverlap(), and RTreeSearch().
Referenced by dig_find_node(), dig_select_areas(), dig_select_isles(), dig_select_lines(), dig_select_nodes(), main(), RTreeSearch(), Vect_break_polygons(), Vect_line_check_intersection(), Vect_line_intersection(), Vect_snap_lines(), and Vect_spatial_index_select().
Definition at line 305 of file split_q.c.
References Node::count, Node::level, MinLeafFill, MinNodeFill, Partitions, RTreeNewNode(), and PartitionVars::total.
Referenced by RTreeAddBranch().
void RTreeTabIn | ( | int | ) |