PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ RTreeCreateInteriorNode()

static RTREE_NODE * RTreeCreateInteriorNode ( RTREE_NODE left,
RTREE_NODE right 
)
static

Creates an interior node given the children.

Definition at line 148 of file lwgeom_rtree.c.

149{
150 RTREE_NODE *parent;
151
152 POSTGIS_DEBUGF(2, "RTreeCreateInteriorNode called for children %p, %p", left, right);
153
154 parent = lwalloc(sizeof(RTREE_NODE));
155 parent->leftNode = left;
156 parent->rightNode = right;
157 parent->interval = RTreeMergeIntervals(left->interval, right->interval);
158 parent->segment = NULL;
159
160 POSTGIS_DEBUGF(3, "RTreeCreateInteriorNode returning %p", parent);
161
162 return parent;
163}
void * lwalloc(size_t size)
Definition lwutil.c:227
static RTREE_INTERVAL * RTreeMergeIntervals(RTREE_INTERVAL *inter1, RTREE_INTERVAL *inter2)
Creates an interval with the total extents of the two given intervals.
struct rtree_node * leftNode
struct rtree_node * rightNode
LWLINE * segment
RTREE_INTERVAL * interval
The following struct and methods are used for a 1D RTree implementation, described at: http://lin-ear...

References rtree_node::interval, rtree_node::leftNode, lwalloc(), rtree_node::rightNode, RTreeMergeIntervals(), and rtree_node::segment.

Referenced by RTreeCreate().

Here is the call graph for this function:
Here is the caller graph for this function: