GRASS Programmer's Manual
6.4.1(2011)
|
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 /* number of dimensions */ |
#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().
Definition at line 38 of file index.h.
Referenced by RTreeInitRect().
typedef int(* SearchHitCallback)(int id, void *arg) |
int RTreeAddBranch | ( | struct Branch * | , |
struct Node * | , | ||
struct Node ** | |||
) |
Definition at line 179 of file node.c.
References Node::branch, Branch::child, Node::count, MAXKIDS, N, and RTreeSplitNode().
Referenced by RTreeInsertRect1().
struct Rect RTreeCombineRect | ( | struct Rect * | , |
struct Rect * | |||
) | [read] |
Definition at line 305 of file rect.c.
References Rect::boundary, MAX, MIN, NUMDIMS, and Undefined.
Referenced by RTreeNodeCover(), and RTreePickBranch().
int RTreeDeleteRect | ( | struct Rect * | , |
int | , | ||
struct Node ** | |||
) |
Definition at line 268 of file 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().
int RTreeDeleteRect1 | ( | struct Rect * | , |
struct Node * | , | ||
struct Node ** | |||
) |
Definition at line 275 of file index.c.
References Node::branch, Branch::child, Node::level, MAXKIDS, ListNode::next, ListNode::node, NODECARD, 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, 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_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.
Referenced by RTreeDeleteRect1(), and RTreeDestroyNode().
int RTreeGetLeafMax | ( | void | ) |
int RTreeGetNodeMax | ( | void | ) |
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, and NUMSIDES.
Referenced by RTreeNodeCover().
int RTreeInsertRect | ( | struct Rect * | , |
int | , | ||
struct Node ** | , | ||
int | depth | ||
) |
Definition at line 138 of file 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_lines_list(), and Vect_spatial_index_add_item().
int RTreeInsertRect1 | ( | struct Rect * | , |
struct Node * | , | ||
struct Node ** | , | ||
int | depth | ||
) |
Definition at line 144 of file index.c.
References Rect::boundary, Branch::child, Node::level, NUMDIMS, Branch::rect, RTreeAddBranch(), RTreeNewNode(), and RTreeNodeCover().
Referenced by RTreeDeleteRect1(), and RTreeInsertRect().
struct Node* RTreeNewIndex | ( | void | ) | [read] |
Definition at line 25 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_list(), and Vect_spatial_index_init().
struct Node* RTreeNewNode | ( | void | ) | [read] |
Definition at line 44 of file node.c.
References RTreeInitNode().
Referenced by rtree_read_branch(), RTreeInsertRect1(), RTreeNewIndex(), and RTreeSplitNode().
struct Rect RTreeNodeCover | ( | struct Node * | ) | [read] |
Definition at line 111 of file node.c.
References Node::branch, Branch::child, MAXKIDS, N, Branch::rect, RTreeCombineRect(), and RTreeInitRect().
Referenced by RTreeInsertRect1().
struct Rect RTreeNullRect | ( | void | ) | [read] |
Definition at line 52 of file rect.c.
References Rect::boundary, and NUMDIMS.
int RTreeOverlap | ( | struct Rect * | , |
struct Rect * | |||
) |
Definition at line 331 of file rect.c.
References Rect::boundary, and NUMDIMS.
Referenced by RTreeSearch().
int RTreePickBranch | ( | struct Rect * | , |
struct Node * | |||
) |
Definition at line 139 of file node.c.
References Node::branch, Branch::child, MAXKIDS, N, 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().
RectReal RTreeRectArea | ( | struct Rect * | ) |
RectReal RTreeRectSphericalVolume | ( | struct Rect * | R | ) |
Definition at line 253 of file rect.c.
References Rect::boundary, NUMDIMS, Undefined, and UnitSphereVolume.
Referenced by RTreePickBranch().
RectReal RTreeRectVolume | ( | struct Rect * | R | ) |
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 index.c.
References Node::branch, Branch::child, LEAFCARD, Node::level, N, 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_list(), and Vect_spatial_index_select().
int RTreeSetLeafMax | ( | int | ) |
int RTreeSetNodeMax | ( | int | ) |
void RTreeSplitNode | ( | struct Node * | , |
struct Branch * | , | ||
struct Node ** | |||
) |
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().