PostGIS  2.5.7dev-r@@SVN_REVISION@@

◆ getPoint4d_cp()

const POINT4D* getPoint4d_cp ( const POINTARRAY pa,
uint32_t  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 408 of file lwgeom_api.c.

409 {
410  if (!pa) return 0;
411 
412  if (!(FLAGS_GET_Z(pa->flags) && FLAGS_GET_M(pa->flags)))
413  {
414  lwerror("getPoint4d_cp: no Z and M coordinates in point array");
415  return 0; /*error */
416  }
417 
418  if (n >= pa->npoints)
419  {
420  lwerror("getPoint4d_cp: point offset out of range");
421  return 0; /*error */
422  }
423 
424  return (const POINT4D*)getPoint_internal(pa, n);
425 }
uint8_t * getPoint_internal(const POINTARRAY *pa, uint32_t n)
Definition: ptarray.c:1750
#define FLAGS_GET_Z(flags)
Macros for manipulating the 'flags' byte.
Definition: liblwgeom.h:140
#define FLAGS_GET_M(flags)
Definition: liblwgeom.h:141
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:190
uint32_t npoints
Definition: liblwgeom.h:374
uint8_t flags
Definition: liblwgeom.h:372

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

Here is the call graph for this function: