- Parameters
-
msurface | input multi surface |
tol | tolerance, semantic driven by tolerance_type |
tolerance_type | see LW_LINEARIZE_TOLERANCE_TYPE |
flags | see flags in lwarc_linearize |
- Returns
- a newly allocated LWMPOLY
Definition at line 646 of file lwstroke.c.
References CURVEPOLYTYPE, LWMSURFACE::geoms, lwalloc(), lwcollection_construct(), lwcurvepoly_linearize(), LWDEBUG, lwpoly_construct(), MULTIPOLYGONTYPE, LWMSURFACE::ngeoms, LWPOLY::nrings, POLYGONTYPE, ptarray_clone_deep(), LWPOLY::rings, LWMSURFACE::srid, ovdump::type, and LWGEOM::type.
Referenced by lwcurve_linearize().
657 LWDEBUG(2,
"lwmsurface_linearize called.");
661 for (i = 0; i < msurface->
ngeoms; i++)
663 tmp = msurface->
geoms[i];
672 for (j = 0; j < poly->
nrings; j++)
LWCOLLECTION * lwcollection_construct(uint8_t type, int srid, GBOX *bbox, uint32_t ngeoms, LWGEOM **geoms)
static LWPOLY * lwcurvepoly_linearize(const LWCURVEPOLY *curvepoly, double tol, LW_LINEARIZE_TOLERANCE_TYPE tolerance_type, int flags)
#define LWDEBUG(level, msg)
LWPOLY * lwpoly_construct(int srid, GBOX *bbox, uint32_t nrings, POINTARRAY **points)
POINTARRAY * ptarray_clone_deep(const POINTARRAY *ptarray)
Deep clone a pointarray (also clones serialized pointlist)
void * lwalloc(size_t size)