PostGIS  2.1.10dev-r@@SVN_REVISION@@
void ptarray_set_point4d ( POINTARRAY pa,
int  n,
const POINT4D p4d 
)

Definition at line 501 of file lwgeom_api.c.

References POINTARRAY::flags, FLAGS_GET_ZM, getPoint_internal(), and POINT4D::m.

Referenced by circstring_from_pa(), gml_reproject_pa(), linestring_from_pa(), lwcircstring_setPoint4d(), LWGEOM_line_interpolate_point(), lwgeom_project_spheroid(), lwline_clip_to_ordinate_range(), lwline_from_lwmpoint(), lwline_measured_from_lwline(), lwline_setPoint4d(), ptarray_affine(), ptarray_flip_coordinates(), ptarray_force_geodetic(), ptarray_from_GEOSCoordSeq(), ptarray_from_SFCGAL(), ptarray_insert_point(), ptarray_nudge_geodetic(), ptarray_transform(), rt_raster_get_convex_hull(), rt_raster_get_perimeter(), rt_raster_pixel_as_polygon(), rt_util_envelope_to_lwpoly(), test_lwline_clip_big(), and test_lwline_crossing_short_lines().

502 {
503  uint8_t *ptr;
504  assert(n >= 0 && n < pa->npoints);
505  ptr=getPoint_internal(pa, n);
506  switch ( FLAGS_GET_ZM(pa->flags) )
507  {
508  case 3:
509  memcpy(ptr, p4d, sizeof(POINT4D));
510  break;
511  case 2:
512  memcpy(ptr, p4d, sizeof(POINT3DZ));
513  break;
514  case 1:
515  memcpy(ptr, p4d, sizeof(POINT2D));
516  ptr+=sizeof(POINT2D);
517  memcpy(ptr, &(p4d->m), sizeof(double));
518  break;
519  case 0:
520  memcpy(ptr, p4d, sizeof(POINT2D));
521  break;
522  }
523 }
double m
Definition: liblwgeom.h:308
#define FLAGS_GET_ZM(flags)
Definition: liblwgeom.h:119
uint8_t flags
Definition: liblwgeom.h:325
uint8_t * getPoint_internal(const POINTARRAY *pa, int n)
Definition: ptarray.c:1645

Here is the call graph for this function:

Here is the caller graph for this function: