PostGIS  2.2.8dev-r@@SVN_REVISION@@

◆ getPoint3dz_cp()

const POINT3DZ* getPoint3dz_cp ( const POINTARRAY pa,
int  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 486 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().

487 {
488  if ( ! pa ) return 0;
489 
490  if ( ! FLAGS_GET_Z(pa->flags) )
491  {
492  lwerror("getPoint3dz_cp: no Z coordinates in point array");
493  return 0; /*error */
494  }
495 
496  if ( (n<0) || (n>=pa->npoints))
497  {
498  lwerror("getPoint3dz_cp: point offset out of range");
499  return 0; /*error */
500  }
501 
502  return (const POINT3DZ*)getPoint_internal(pa, n);
503 }
int npoints
Definition: liblwgeom.h:355
uint8_t flags
Definition: liblwgeom.h:353
uint8_t * getPoint_internal(const POINTARRAY *pa, int n)
Definition: ptarray.c:1706
#define FLAGS_GET_Z(flags)
Macros for manipulating the &#39;flags&#39; byte.
Definition: liblwgeom.h:124
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:74
Here is the call graph for this function:
Here is the caller graph for this function: