Definition at line 887 of file lwgeodetic_tree.c.
References circ_nodes_merge(), circ_nodes_sort(), circ_tree_new(), circ_node::geom_type, lwalloc(), lwfree(), lwgeom_get_type(), lwpoly_pt_outside(), LWPOLY::nrings, circ_node::pt_outside, and LWPOLY::rings.
Referenced by lwgeom_calculate_circ_tree().
894 if ( lwpoly->
nrings == 1 )
902 for ( i = 0; i < lwpoly->
nrings; i++ )
Note that p1 and p2 are pointers into an independent POINTARRAY, do not free them.
uint32_t lwgeom_get_type(const LWGEOM *geom)
Return LWTYPE number.
int lwpoly_pt_outside(const LWPOLY *poly, POINT2D *pt_outside)
CIRC_NODE * circ_tree_new(const POINTARRAY *pa)
Build a tree of nodes from a point array, one node per edge.
static CIRC_NODE * circ_nodes_merge(CIRC_NODE **nodes, int num_nodes)
static void circ_nodes_sort(CIRC_NODE **nodes, int num_nodes)
Given a list of nodes, sort them into a spatially consistent order, then pairwise merge them up into ...
void * lwalloc(size_t size)