PostGIS  2.5.0rc1dev-r@@SVN_REVISION@@

◆ getPoint3dz_cp()

const POINT3DZ* getPoint3dz_cp ( const POINTARRAY pa,
uint32_t  n 
)

Returns a POINT3DZ pointer into the POINTARRAY serialized_ptlist, suitable for reading from.

This is very high performance and declared const because you aren't allowed to muck with the values, only read them.

Definition at line 378 of file lwgeom_api.c.

References POINTARRAY::flags, FLAGS_GET_Z, getPoint_internal(), lwerror(), and POINTARRAY::npoints.

Referenced by pointArray_to_geojson(), pointArray_toGML2(), pointArray_toGML3(), and ptarray_to_GEOSCoordSeq().

379 {
380  if ( ! pa ) return 0;
381 
382  if ( ! FLAGS_GET_Z(pa->flags) )
383  {
384  lwerror("getPoint3dz_cp: no Z coordinates in point array");
385  return 0; /*error */
386  }
387 
388  if ( n>=pa->npoints )
389  {
390  lwerror("getPoint3dz_cp: point offset out of range");
391  return 0; /*error */
392  }
393 
394  return (const POINT3DZ*)getPoint_internal(pa, n);
395 }
uint8_t flags
Definition: liblwgeom.h:371
#define FLAGS_GET_Z(flags)
Macros for manipulating the 'flags' byte.
Definition: liblwgeom.h:139
uint8_t * getPoint_internal(const POINTARRAY *pa, uint32_t n)
Definition: ptarray.c:1743
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:190
uint32_t npoints
Definition: liblwgeom.h:373
Here is the call graph for this function:
Here is the caller graph for this function: