PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ _lwt_EdgeRingIterator_begin()

static LWT_EDGERING_POINT_ITERATOR* _lwt_EdgeRingIterator_begin ( LWT_EDGERING er)
static

Definition at line 6294 of file lwgeom_topo.c.

6295 {
6297  ret->ring = er;
6298  if ( er->size ) ret->curelem = er->elems[0];
6299  else ret->curelem = NULL;
6300  ret->curelemidx = 0;
6301  ret->curidx = (ret->curelem == NULL || ret->curelem->left) ? 0 : ret->curelem->edge->geom->points->npoints - 1;
6302  return ret;
6303 }
void * lwalloc(size_t size)
Definition: lwutil.c:227
POINTARRAY * points
Definition: liblwgeom.h:483
LWT_ISO_EDGE * edge
Definition: lwgeom_topo.c:6159
LWT_EDGERING_ELEM * curelem
Definition: lwgeom_topo.c:6248
LWT_EDGERING_ELEM ** elems
Definition: lwgeom_topo.c:6169
LWLINE * geom
uint32_t npoints
Definition: liblwgeom.h:427

References LWT_EDGERING_POINT_ITERATOR_T::curelem, LWT_EDGERING_POINT_ITERATOR_T::curelemidx, LWT_EDGERING_POINT_ITERATOR_T::curidx, LWT_EDGERING_ELEM_T::edge, LWT_EDGERING_T::elems, LWT_ISO_EDGE::geom, LWT_EDGERING_ELEM_T::left, lwalloc(), POINTARRAY::npoints, LWLINE::points, LWT_EDGERING_POINT_ITERATOR_T::ring, and LWT_EDGERING_T::size.

Referenced by _lwt_EdgeRingContainsPoint(), and _lwt_EdgeRingIsCCW().

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