index.h File Reference

This graph shows which files directly or indirectly include this file:

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 **)
NodeRTreeNewIndex (void)
NodeRTreeNewNode (void)
void RTreeInitNode (struct Node *)
void RTreeFreeNode (struct Node *)
void RTreeDestroyNode (struct Node *)
void RTreePrintNode (struct Node *, int)
void RTreeTabIn (int)
Rect RTreeNodeCover (struct Node *)
void RTreeInitRect (struct Rect *)
Rect RTreeNullRect (void)
RectReal RTreeRectArea (struct Rect *)
RectReal RTreeRectSphericalVolume (struct Rect *R)
RectReal RTreeRectVolume (struct Rect *R)
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 Documentation

#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))

Definition at line 54 of file index.h.

Referenced by RTreeInitNode().

#define NDEBUG

Definition at line 22 of file index.h.

#define NUMDIMS   3

Definition at line 21 of file index.h.

Referenced by RTreeInsertRect(), and RTreeNullRect().

#define NUMSIDES   2*NUMDIMS

Definition at line 38 of file index.h.

Referenced by RTreeInitRect().

#define PGSIZE   512

Definition at line 20 of file index.h.

#define TRUE   1

Definition at line 32 of file index.h.

Referenced by dig_init_portable(), RTreeContained(), Vect_cat_in_array(), and Vect_cat_in_cat_list().


Typedef Documentation

typedef double RectReal

Definition at line 25 of file index.h.

typedef int(*) SearchHitCallback(int id, void *arg)

Definition at line 76 of file index.h.


Function Documentation

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 RTreeInsertRect().

struct Rect RTreeCombineRect ( struct Rect ,
struct Rect  
)

Definition at line 302 of file rect.c.

References Rect::boundary, MAX, MIN, and Undefined.

Referenced by RTreeNodeCover(), and RTreePickBranch().

int RTreeDeleteRect ( struct Rect ,
int  ,
struct Node **   
)

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, and RTreeDestroyNode().

Referenced by dig_spidx_free_areas(), dig_spidx_free_isles(), dig_spidx_free_lines(), dig_spidx_free_nodes(), RTreeDestroyNode(), Vect_break_polygons(), 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  ) 

Definition at line 53 of file node.c.

Referenced by RTreeDeleteRect().

int RTreeGetLeafMax ( void   ) 

Definition at line 34 of file card.c.

References LEAFCARD.

int RTreeGetNodeMax ( void   ) 

Definition at line 33 of file card.c.

References NODECARD.

void RTreeInitNode ( struct Node  ) 

Definition at line 31 of file node.c.

References Node::branch, Node::count, Node::level, MAXCARD, and N.

Referenced by RTreeNewNode().

void RTreeInitRect ( struct Rect  ) 

Definition at line 37 of file rect.c.

References Rect::boundary, and NUMSIDES.

Referenced by RTreeNodeCover().

int RTreeInsertRect ( struct Rect ,
int  ,
struct Node **  ,
int  depth 
)

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_snap_lines(), and Vect_spatial_index_add_item().

struct Node* RTreeNewIndex ( void   ) 

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   ) 

Definition at line 42 of file node.c.

References RTreeInitNode().

Referenced by rtree_read_branch(), RTreeInsertRect(), RTreeNewIndex(), and RTreeSplitNode().

struct Rect RTreeNodeCover ( struct Node  ) 

Definition at line 107 of file node.c.

References MAXKIDS, N, RTreeCombineRect(), and RTreeInitRect().

Referenced by RTreeInsertRect().

struct Rect RTreeNullRect ( void   ) 

Definition at line 50 of file rect.c.

References Rect::boundary, and NUMDIMS.

int RTreeOverlap ( struct Rect ,
struct Rect  
)

Definition at line 328 of file rect.c.

References Rect::boundary, and FALSE.

Referenced by RTreeSearch().

int RTreePickBranch ( struct Rect ,
struct Node  
)

Definition at line 136 of file node.c.

References Node::branch, Branch::child, MAXKIDS, N, Branch::rect, RTreeCombineRect(), and RTreeRectSphericalVolume().

void RTreePrintNode ( struct Node ,
int   
)

Definition at line 74 of file node.c.

References Node::count, Node::level, and RTreeTabIn().

void RTreePrintRect ( struct Rect ,
int   
)

Definition at line 131 of file rect.c.

References Rect::boundary, and RTreeTabIn().

RectReal RTreeRectArea ( struct Rect  ) 

RectReal RTreeRectSphericalVolume ( struct Rect R  ) 

Definition at line 251 of file rect.c.

References Rect::boundary, and Undefined.

Referenced by RTreePickBranch().

RectReal RTreeRectVolume ( struct Rect R  ) 

Definition at line 148 of file rect.c.

References Rect::boundary, and Undefined.

int RTreeSearch ( struct Node ,
struct Rect ,
SearchHitCallback  ,
void *   
)

Definition at line 37 of file index.c.

References Node::branch, Branch::child, 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_snap_lines(), and Vect_spatial_index_select().

int RTreeSetLeafMax ( int   ) 

Definition at line 32 of file card.c.

References LEAFCARD.

int RTreeSetNodeMax ( int   ) 

Definition at line 31 of file card.c.

References NODECARD.

void RTreeSplitNode ( struct Node ,
struct Branch ,
struct Node **   
)

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   ) 

Definition at line 66 of file node.c.

Referenced by RTreePrintNode(), and RTreePrintRect().


Generated on Fri Nov 21 11:02:57 2008 for GRASS by  doxygen 1.5.1