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

◆ lwpoly_to_wkb_buf()

static uint8_t * lwpoly_to_wkb_buf ( const LWPOLY poly,
uint8_t *  buf,
uint8_t  variant 
)
static

Definition at line 597 of file lwout_wkb.c.

598{
599 uint32_t i;
600
601 /* Only process empty at this level in the EXTENDED case */
602 if ( (variant & WKB_EXTENDED) && lwgeom_is_empty((LWGEOM*)poly) )
603 return empty_to_wkb_buf((LWGEOM*)poly, buf, variant);
604
605 /* Set the endian flag */
606 buf = endian_to_wkb_buf(buf, variant);
607 /* Set the geometry type */
609 /* Set the optional SRID for extended variant */
610 if ( lwgeom_wkb_needs_srid((LWGEOM*)poly, variant) )
611 buf = integer_to_wkb_buf(poly->srid, buf, variant);
612 /* Set the number of rings */
613 buf = integer_to_wkb_buf(poly->nrings, buf, variant);
614
615 for ( i = 0; i < poly->nrings; i++ )
616 {
617 buf = ptarray_to_wkb_buf(poly->rings[i], buf, variant);
618 }
619
620 return buf;
621}
static uint8_t variant
Definition cu_in_twkb.c:26
#define WKB_EXTENDED
Definition liblwgeom.h:2212
static int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)
Definition lwinline.h:199
static uint8_t * integer_to_wkb_buf(const uint32_t ival, uint8_t *buf, uint8_t variant)
Definition lwout_wkb.c:197
static int lwgeom_wkb_needs_srid(const LWGEOM *geom, uint8_t variant)
Definition lwout_wkb.c:64
static uint8_t * ptarray_to_wkb_buf(const POINTARRAY *pa, uint8_t *buf, uint8_t variant)
Definition lwout_wkb.c:398
static uint32_t lwgeom_wkb_type(const LWGEOM *geom, uint8_t variant)
Definition lwout_wkb.c:83
static uint8_t * endian_to_wkb_buf(uint8_t *buf, uint8_t variant)
Definition lwout_wkb.c:164
static uint8_t * empty_to_wkb_buf(const LWGEOM *geom, uint8_t *buf, uint8_t variant)
Definition lwout_wkb.c:344
int32_t srid
Definition liblwgeom.h:460

References empty_to_wkb_buf(), endian_to_wkb_buf(), integer_to_wkb_buf(), lwgeom_is_empty(), lwgeom_wkb_needs_srid(), lwgeom_wkb_type(), LWPOLY::nrings, ptarray_to_wkb_buf(), LWPOLY::rings, LWPOLY::srid, variant, and WKB_EXTENDED.

Referenced by lwgeom_to_wkb_buf().

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