GRASS Programmer's Manual
6.4.4(2014)-r
|
Go to the source code of this file.
Data Structures | |
struct | Rect |
struct | Branch |
struct | Node |
struct | ListNode |
Macros | |
#define | PGSIZE 512 |
#define | NUMDIMS 3 /* number of dimensions */ |
#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 | RTreeInsertRect1 (struct Rect *, struct Node *, struct Node **, int depth) |
int | RTreeDeleteRect (struct Rect *, int, struct Node **) |
int | RTreeDeleteRect1 (struct Rect *, struct Node *, 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) |
Definition at line 54 of file index.h.
Referenced by RTreeInitNode().
#define NUMDIMS 3 /* number of dimensions */ |
Definition at line 22 of file index.h.
Referenced by RTreeCombineRect(), RTreeContained(), RTreeInsertRect1(), RTreeNullRect(), RTreeOverlap(), RTreePrintRect(), RTreeRectSphericalVolume(), RTreeRectSurfaceArea(), and RTreeRectVolume().
#define NUMSIDES 2*NUMDIMS |
Definition at line 38 of file index.h.
Referenced by RTreeInitRect().
Definition at line 179 of file node.c.
References b, Node::branch, Branch::child, Node::count, MAXKIDS, N, NULL, and RTreeSplitNode().
Referenced by RTreeInsertRect1().
Definition at line 305 of file rect.c.
References Rect::boundary, MAX, MIN, NUMDIMS, r, and Undefined.
Referenced by RTreeNodeCover(), and RTreePickBranch().
Definition at line 268 of file vector/rtree/index.c.
References RTreeDeleteRect1().
Referenced by dig_spidx_del_area(), dig_spidx_del_isle(), dig_spidx_del_line(), dig_spidx_del_node(), and Vect_spatial_index_del_item().
Definition at line 275 of file vector/rtree/index.c.
References Node::branch, Branch::child, Node::level, MAXKIDS, ListNode::next, ListNode::node, NODECARD, NULL, Branch::rect, RTreeFreeNode(), and RTreeInsertRect1().
Referenced by RTreeDeleteRect().
void RTreeDestroyNode | ( | struct Node * | ) |
Definition at line 217 of file node.c.
References Node::branch, Branch::child, Node::level, NODECARD, and RTreeFreeNode().
Referenced by dig_spidx_free_areas(), dig_spidx_free_isles(), dig_spidx_free_lines(), dig_spidx_free_nodes(), Vect_break_polygons(), Vect_line_check_intersection(), Vect_line_intersection(), Vect_snap_line(), Vect_snap_lines_list(), and Vect_spatial_index_destroy().
void RTreeDisconnectBranch | ( | struct Node * | , |
int | |||
) |
Definition at line 207 of file node.c.
References Node::branch, Branch::child, Node::count, and MAXKIDS.
void RTreeFreeNode | ( | struct Node * | ) |
Definition at line 55 of file node.c.
References free().
Referenced by RTreeDeleteRect1(), and RTreeDestroyNode().
void RTreeInitNode | ( | struct Node * | ) |
Definition at line 32 of file node.c.
References Node::branch, Node::count, Node::level, MAXCARD, and N.
Referenced by RTreeNewNode().
void RTreeInitRect | ( | struct Rect * | ) |
Definition at line 38 of file rect.c.
References Rect::boundary, NUMSIDES, and r.
Referenced by RTreeNodeCover().
Definition at line 138 of file vector/rtree/index.c.
References RTreeInsertRect1().
Referenced by dig_spidx_add_area(), dig_spidx_add_isle(), dig_spidx_add_line(), dig_spidx_add_node(), main(), Vect_break_polygons(), Vect_line_check_intersection(), Vect_line_intersection(), Vect_snap_line(), Vect_snap_lines_list(), and Vect_spatial_index_add_item().
Definition at line 144 of file vector/rtree/index.c.
References Rect::boundary, Branch::child, Node::level, NULL, NUMDIMS, Branch::rect, RTreeAddBranch(), RTreeNewNode(), and RTreeNodeCover().
Referenced by RTreeDeleteRect1(), and RTreeInsertRect().
struct Node* RTreeNewIndex | ( | void | ) |
Definition at line 25 of file vector/rtree/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_line(), Vect_snap_lines_list(), and Vect_spatial_index_init().
struct Node* RTreeNewNode | ( | void | ) |
Definition at line 44 of file node.c.
References malloc(), and RTreeInitNode().
Referenced by rtree_read_branch(), RTreeInsertRect1(), RTreeNewIndex(), and RTreeSplitNode().
Definition at line 111 of file node.c.
References Node::branch, Branch::child, MAXKIDS, N, r, Branch::rect, RTreeCombineRect(), and RTreeInitRect().
Referenced by RTreeInsertRect1().
struct Rect RTreeNullRect | ( | void | ) |
Definition at line 52 of file rect.c.
References Rect::boundary, NUMDIMS, and r.
Definition at line 331 of file rect.c.
References Rect::boundary, FALSE, NUMDIMS, dialogs::s, and TRUE.
Referenced by RTreeSearch().
Definition at line 139 of file node.c.
References Node::branch, Branch::child, MAXKIDS, N, r, Branch::rect, RTreeCombineRect(), and RTreeRectSphericalVolume().
void RTreePrintNode | ( | struct Node * | , |
int | |||
) |
Definition at line 77 of file node.c.
References Node::count, Node::level, and RTreeTabIn().
void RTreePrintRect | ( | struct Rect * | , |
int | |||
) |
Definition at line 130 of file rect.c.
References Rect::boundary, NUMDIMS, and RTreeTabIn().
Definition at line 253 of file rect.c.
References Rect::boundary, NUMDIMS, Undefined, and UnitSphereVolume.
Referenced by RTreePickBranch().
Definition at line 148 of file rect.c.
References Rect::boundary, NUMDIMS, and Undefined.
int RTreeSearch | ( | struct Node * | , |
struct Rect * | , | ||
SearchHitCallback | , | ||
void * | |||
) |
Definition at line 39 of file vector/rtree/index.c.
References Node::branch, Branch::child, LEAFCARD, Node::level, N, NODECARD, r, 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_line(), Vect_snap_lines_list(), and Vect_spatial_index_select().
Definition at line 292 of file split_q.c.
References Node::count, Node::level, MinLeafFill, MinNodeFill, Partitions, RTreeNewNode(), and PartitionVars::total.
Referenced by RTreeAddBranch().
void RTreeTabIn | ( | int | ) |
Definition at line 68 of file node.c.
Referenced by RTreePrintNode(), and RTreePrintRect().