PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ itree_new_node()

static IntervalTreeNode* itree_new_node ( IntervalTree itree)
static

Definition at line 99 of file intervaltree.c.

100 {
101  IntervalTreeNode *node = NULL;
102  if (itree->numNodes >= itree->maxNodes)
103  lwerror("%s ran out of node space", __func__);
104 
105  node = &(itree->nodes[itree->numNodes++]);
106  node->min = FLT_MAX;
107  node->max = FLT_MIN;
108  node->edgeIndex = UINT32_MAX;
109  node->numChildren = 0;
110  memset(node->children, 0, sizeof(node->children));
111  return node;
112 }
void void lwerror(const char *fmt,...) __attribute__((format(printf
Write a notice out to the error handler.
#define UINT32_MAX
Definition: lwin_wkt_lex.c:343
struct IntervalTreeNode * children[ITREE_MAX_NODES]
Definition: intervaltree.h:43
uint32_t edgeIndex
Definition: intervaltree.h:44
uint32_t numChildren
Definition: intervaltree.h:45
uint32_t maxNodes
Definition: intervaltree.h:65
struct IntervalTreeNode * nodes
Definition: intervaltree.h:58
uint32_t numNodes
Definition: intervaltree.h:64

References IntervalTreeNode::children, IntervalTreeNode::edgeIndex, lwerror(), IntervalTreeNode::max, IntervalTree::maxNodes, IntervalTreeNode::min, IntervalTree::nodes, IntervalTreeNode::numChildren, IntervalTree::numNodes, and UINT32_MAX.

Referenced by itree_add_pointarray(), and itree_merge_nodes().

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