GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-112dd97adf
node.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <grass/gis.h>
#include "index.h"
#include "split.h"
#include "card.h"
Include dependency graph for node.c:

Go to the source code of this file.


void RTreeInitNode (struct RTree *t, struct RTree_Node *n, int type)
struct RTree_NodeRTreeAllocNode (struct RTree *t, int level)
void RTreeFreeNode (struct RTree_Node *n)
void RTreeCopyNode (struct RTree_Node *n1, struct RTree_Node *n2, struct RTree *t)
void RTreeCopyBranch (struct RTree_Branch *b1, struct RTree_Branch *b2, struct RTree *t)
void RTreeNodeCover (struct RTree_Node *n, struct RTree_Rect *r, struct RTree *t)
int RTreePickBranch (struct RTree_Rect *r, struct RTree_Node *n, struct RTree *t)
void RTreeDisconnectBranch (struct RTree_Node *n, int i, struct RTree *t)
void RTreeDestroyNode (struct RTree_Node *n, int nodes)
int RTreeAddBranch (struct RTree_Branch *b, struct RTree_Node *n, struct RTree_Node **newnode, struct RTree_ListBranch **ee, struct RTree_Rect *cover, char *overflow, struct RTree *t)
void RTreeTabIn (int depth)
void RTreePrintNode (struct RTree_Node *n, int depth, struct RTree *t)

Function Documentation

◆ RTreeAddBranch()

int RTreeAddBranch ( struct RTree_Branch b,
struct RTree_Node n,
struct RTree_Node **  newnode,
struct RTree_ListBranch **  ee,
struct RTree_Rect cover,
char *  overflow,
struct RTree t 

◆ RTreeAllocNode()

struct RTree_Node* RTreeAllocNode ( struct RTree t,
int  level 

◆ RTreeCopyBranch()

void RTreeCopyBranch ( struct RTree_Branch b1,
struct RTree_Branch b2,
struct RTree t 

Definition at line 124 of file node.c.

References RTree_Branch::child, RTree_Branch::rect, RTreeCopyRect, and t.

Referenced by RTreeCopyNode().

◆ RTreeCopyNode()

void RTreeCopyNode ( struct RTree_Node n1,
struct RTree_Node n2,
struct RTree t 

◆ RTreeDestroyNode()

void RTreeDestroyNode ( struct RTree_Node n,
int  nodes 

◆ RTreeDisconnectBranch()

void RTreeDisconnectBranch ( struct RTree_Node n,
int  i,
struct RTree t 

Definition at line 270 of file node.c.

References assert, RTree_Node::branch, RTree_Branch::child, and t.

◆ RTreeFreeNode()

void RTreeFreeNode ( struct RTree_Node n)

Definition at line 95 of file node.c.

References assert, RTree_Node::branch, free(), MAXCARD, RTree_Branch::rect, and RTreeFreeBoundary().

Referenced by RTreeCreateTree(), and RTreeDestroyNode().

◆ RTreeInitNode()

void RTreeInitNode ( struct RTree t,
struct RTree_Node n,
int  type 

Definition at line 62 of file node.c.

◆ RTreeNodeCover()

void RTreeNodeCover ( struct RTree_Node n,
struct RTree_Rect r,
struct RTree t 

◆ RTreePickBranch()

int RTreePickBranch ( struct RTree_Rect r,
struct RTree_Node n,
struct RTree t 

Definition at line 236 of file node.c.

References assert.

◆ RTreePrintNode()

void RTreePrintNode ( struct RTree_Node n,
int  depth,
struct RTree t 

Definition at line 619 of file node.c.

◆ RTreeTabIn()

void RTreeTabIn ( int  depth)

Definition at line 604 of file node.c.