PostGIS  2.2.7dev-r@@SVN_REVISION@@
const POINT4D* getPoint4d_cp ( const POINTARRAY pa,
int  n 
)

Returns a POINT4D 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 507 of file lwgeom_api.c.

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

508 {
509  if ( ! pa ) return 0;
510 
511  if ( ! (FLAGS_GET_Z(pa->flags) && FLAGS_GET_Z(pa->flags)) )
512  {
513  lwerror("getPoint3dz_cp: no Z and M coordinates in point array");
514  return 0; /*error */
515  }
516 
517  if ( (n<0) || (n>=pa->npoints))
518  {
519  lwerror("getPoint3dz_cp: point offset out of range");
520  return 0; /*error */
521  }
522 
523  return (const POINT4D*)getPoint_internal(pa, n);
524 }
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 'flags' 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: