struct rect_node * right_node
int rect_tree_intersects_tree(const RECT_NODE *tree1, const RECT_NODE *tree2)
int rect_tree_contains_point(const RECT_NODE *tree, const POINT2D *pt, int *on_boundary)
RECT_NODE * rect_tree_new(const POINTARRAY *pa)
Build a tree of nodes from a point array, one node per edge, and each with an associated measure rang...
struct rect_node RECT_NODE
RECT_NODE * rect_node_leaf_new(const POINTARRAY *pa, int i)
Create a new leaf node, calculating a measure value for each point on the edge and storing pointers b...
void rect_tree_free(RECT_NODE *node)
Recurse from top of node tree and free all children.
RECT_NODE * rect_node_internal_new(RECT_NODE *left_node, RECT_NODE *right_node)
Create a new internal node, calculating the new measure range for the node, and storing pointers to t...
struct rect_node * left_node