Definition at line 6334 of file lwgeom_topo.c.
6336{
6340 int curside;
6341
6344
6346 curside = side;
6347
6348 LWDEBUGF(2,
"Building rings for edge %d (side %d)",
cur->edge_id, side);
6349
6350 do {
6352
6355 elem->
left = ( curside == 1 );
6356
6357
6360
6362 next = elem->
left ?
cur->next_left :
cur->next_right;
6363
6364 LWDEBUGF(3,
" next edge is %d", next);
6365
6366 if ( next > 0 ) curside = 1;
6367 else { curside = -1; next = -next; }
6369 if ( ! cur )
6370 {
6371 lwerror(
"Could not find edge with id %d", next);
6372 break;
6373 }
6374 } while (cur != edge || curside != side);
6375
6377
6378 return ring;
6379}
void * lwalloc(size_t size)
LWT_INT64 LWT_ELEMID
Identifier of topology element.
#define LWDEBUGF(level, msg,...)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
#define LWT_EDGERING_INIT(a)
#define LWT_HOLES_FACE_PLACEHOLDER
static LWT_ISO_EDGE * _lwt_getIsoEdgeById(LWT_ISO_EDGE_TABLE *tab, LWT_ELEMID id)
#define LWT_EDGERING_PUSH(a, r)
References _lwt_getIsoEdgeById(), LWT_EDGERING_ELEM_T::edge, LWT_ISO_EDGE::edge_id, LWT_EDGERING_ELEM_T::left, lwalloc(), LWDEBUGF, lwerror(), LWT_EDGERING_INIT, LWT_EDGERING_PUSH, LWT_HOLES_FACE_PLACEHOLDER, and LWT_EDGERING_T::size.
Referenced by _lwt_RegisterFaceOnEdgeSide().