PostGIS  2.2.7dev-r@@SVN_REVISION@@
static size_t lwtriangle_to_wkb_size ( const LWTRIANGLE tri,
uint8_t  variant 
)
static

Definition at line 486 of file lwout_wkb.c.

References empty_to_wkb_size(), lwgeom_is_empty(), lwgeom_wkb_needs_srid(), LWTRIANGLE::points, ptarray_to_wkb_size(), WKB_BYTE_SIZE, WKB_EXTENDED, and WKB_INT_SIZE.

Referenced by lwgeom_to_wkb_size().

487 {
488  /* endian flag + type number + number of rings */
489  size_t size = WKB_BYTE_SIZE + WKB_INT_SIZE + WKB_INT_SIZE;
490 
491  /* Only process empty at this level in the EXTENDED case */
492  if ( (variant & WKB_EXTENDED) && lwgeom_is_empty((LWGEOM*)tri) )
493  return empty_to_wkb_size((LWGEOM*)tri, variant);
494 
495  /* Extended WKB needs space for optional SRID integer */
496  if ( lwgeom_wkb_needs_srid((LWGEOM*)tri, variant) )
497  size += WKB_INT_SIZE;
498 
499  /* How big is this point array? */
500  size += ptarray_to_wkb_size(tri->points, variant);
501 
502  return size;
503 }
static int lwgeom_wkb_needs_srid(const LWGEOM *geom, uint8_t variant)
Definition: lwout_wkb.c:49
#define WKB_INT_SIZE
#define WKB_BYTE_SIZE
POINTARRAY * points
Definition: liblwgeom.h:417
static size_t ptarray_to_wkb_size(const POINTARRAY *pa, uint8_t variant)
Definition: lwout_wkb.c:339
uint8_t variant
Definition: cu_in_twkb.c:26
#define WKB_EXTENDED
Definition: liblwgeom.h:1932
static size_t empty_to_wkb_size(const LWGEOM *geom, uint8_t variant)
Definition: lwout_wkb.c:277
int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members) ...
Definition: lwgeom.c:1297

Here is the call graph for this function:

Here is the caller graph for this function: