Definition at line 629 of file lwstroke.c.
632{
637 uint32_t i;
638
639 LWDEBUG(2,
"lwcurvepoly_linearize called.");
640
642
643 for (i = 0; i < curvepoly->
nrings; i++)
644 {
645 tmp = curvepoly->
rings[i];
647 {
651 }
653 {
656 }
658 {
662 }
663 else
664 {
665 lwerror(
"Invalid ring type found in CurvePoly.");
666 return NULL;
667 }
668 }
669
671 return ogeom;
672}
void * lwalloc(size_t size)
LWPOLY * lwpoly_construct(int32_t srid, GBOX *bbox, uint32_t nrings, POINTARRAY **points)
void lwline_free(LWLINE *line)
POINTARRAY * ptarray_clone_deep(const POINTARRAY *ptarray)
Deep clone a pointarray (also clones serialized pointlist)
#define LWDEBUG(level, msg)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static LWLINE * lwcircstring_linearize(const LWCIRCSTRING *icurve, double tol, LW_LINEARIZE_TOLERANCE_TYPE tolerance_type, int flags)
static LWLINE * lwcompound_linearize(const LWCOMPOUND *icompound, double tol, LW_LINEARIZE_TOLERANCE_TYPE tolerance_type, int flags)
References CIRCSTRINGTYPE, COMPOUNDTYPE, LINETYPE, lwalloc(), lwcircstring_linearize(), lwcompound_linearize(), LWDEBUG, lwerror(), lwline_free(), lwpoly_construct(), LWCURVEPOLY::nrings, LWLINE::points, ptarray_clone_deep(), LWCURVEPOLY::rings, LWCURVEPOLY::srid, and LWGEOM::type.
Referenced by lwcollection_linearize(), lwcurve_linearize(), lwcurvepoly_stroke(), and lwmsurface_linearize().