939{
940 uint32_t i = 0, j = 0;
943
944
945 if ( lwpoly->
nrings == 1 )
946 {
948 }
949 else
950 {
951
953 for ( i = 0; i < lwpoly->
nrings; i++ )
954 {
956 if ( node )
957 nodes[j++] = node;
958 }
959
961
963
965 }
966
967
968
971
972 return node;
973}
void * lwalloc(size_t size)
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 ...
static uint32_t lwgeom_get_type(const LWGEOM *geom)
Return LWTYPE number.
Note that p1 and p2 are pointers into an independent POINTARRAY, do not free them.