- Parameters
-
| collection | input geometry collection |
| tol | tolerance, semantic driven by tolerance_type |
| tolerance_type | see LW_LINEARIZE_TOLERANCE_TYPE |
| flags | see flags in lwarc_linearize |
- Returns
- a newly allocated LWCOLLECTION
Definition at line 796 of file lwstroke.c.
799{
803 uint32_t i;
804
805 LWDEBUG(2,
"lwcollection_linearize called.");
806
808
809 for (i=0; i<collection->
ngeoms; i++)
810 {
811 tmp = collection->
geoms[i];
813 {
816 break;
819 break;
822 break;
827 break;
828 default:
830 break;
831 }
832 }
834 return ocol;
835}
LWCOLLECTION * lwcollection_construct(uint8_t type, int32_t srid, GBOX *bbox, uint32_t ngeoms, LWGEOM **geoms)
void * lwalloc(size_t size)
LWGEOM * lwgeom_clone_deep(const LWGEOM *lwgeom)
Deep clone an LWGEOM, everything is copied.
#define LWDEBUG(level, msg)
static LWCOLLECTION * lwcollection_linearize(const LWCOLLECTION *collection, double tol, LW_LINEARIZE_TOLERANCE_TYPE type, int flags)
static LWPOLY * lwcurvepoly_linearize(const LWCURVEPOLY *curvepoly, double tol, LW_LINEARIZE_TOLERANCE_TYPE tolerance_type, int flags)
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, COLLECTIONTYPE, COMPOUNDTYPE, CURVEPOLYTYPE, LWCOLLECTION::geoms, lwalloc(), lwcircstring_linearize(), lwcollection_construct(), lwcollection_linearize(), lwcompound_linearize(), lwcurvepoly_linearize(), LWDEBUG, lwgeom_clone_deep(), MULTICURVETYPE, MULTISURFACETYPE, LWCOLLECTION::ngeoms, LWCOLLECTION::srid, and LWGEOM::type.
Referenced by lwcollection_linearize(), and lwcurve_linearize().