PostGIS 3.6.2dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ lwpoly_force_dims()

LWPOLY * lwpoly_force_dims ( const LWPOLY lwpoly,
int  hasz,
int  hasm,
double  zval,
double  mval 
)

Definition at line 394 of file lwpoly.c.

395{
396 LWPOLY *polyout;
397
398 /* Return 2D empty */
399 if( lwpoly_is_empty(poly) )
400 {
401 polyout = lwpoly_construct_empty(poly->srid, hasz, hasm);
402 }
403 else
404 {
405 POINTARRAY **rings = NULL;
406 uint32_t i;
407 rings = lwalloc(sizeof(POINTARRAY*) * poly->nrings);
408 for( i = 0; i < poly->nrings; i++ )
409 {
410 rings[i] = ptarray_force_dims(poly->rings[i], hasz, hasm, zval, mval);
411 }
412 polyout = lwpoly_construct(poly->srid, NULL, poly->nrings, rings);
413 }
414 polyout->type = poly->type;
415 return polyout;
416}
void * lwalloc(size_t size)
Definition lwutil.c:227
int lwpoly_is_empty(const LWPOLY *poly)
POINTARRAY * ptarray_force_dims(const POINTARRAY *pa, int hasz, int hasm, double zval, double mval)
Definition ptarray.c:1183
LWPOLY * lwpoly_construct(int32_t srid, GBOX *bbox, uint32_t nrings, POINTARRAY **points)
Definition lwpoly.c:43
LWPOLY * lwpoly_construct_empty(int32_t srid, char hasz, char hasm)
Definition lwpoly.c:161
uint8_t type
Definition liblwgeom.h:522

References lwalloc(), lwpoly_construct(), lwpoly_construct_empty(), lwpoly_is_empty(), LWPOLY::nrings, ptarray_force_dims(), LWPOLY::rings, LWPOLY::srid, and LWPOLY::type.

Referenced by lwgeom_force_dims().

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