PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ ptarray_set_point4d()

void ptarray_set_point4d ( POINTARRAY pa,
uint32_t  n,
const POINT4D p4d 
)
extern

Definition at line 369 of file lwgeom_api.c.

370{
371 uint8_t *ptr;
372 assert(n < pa->npoints);
373 ptr = getPoint_internal(pa, n);
374 switch ( FLAGS_GET_ZM(pa->flags) )
375 {
376 case 3:
377 memcpy(ptr, p4d, sizeof(POINT4D));
378 break;
379 case 2:
380 memcpy(ptr, p4d, sizeof(POINT3DZ));
381 break;
382 case 1:
383 memcpy(ptr, p4d, sizeof(POINT2D));
384 ptr+=sizeof(POINT2D);
385 memcpy(ptr, &(p4d->m), sizeof(double));
386 break;
387 case 0:
388 memcpy(ptr, p4d, sizeof(POINT2D));
389 break;
390 }
391}
#define FLAGS_GET_ZM(flags)
Definition liblwgeom.h:180
static uint8_t * getPoint_internal(const POINTARRAY *pa, uint32_t n)
Definition lwinline.h:75
double m
Definition liblwgeom.h:414
lwflags_t flags
Definition liblwgeom.h:431

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

Referenced by _lwt_FindFaceContainingRing(), _lwt_SplitAllEdgesToNewNode(), box3d_transform(), circstring_from_pa(), geography_interpolate_points(), hexagon(), linestring_from_pa(), lwcircstring_from_lwpointarray(), lwcircstring_setPoint4d(), LWGEOM_dumpsegments(), lwgeom_split_wrapx(), lwgeom_wrapx(), lwline_clip_to_ordinate_range(), lwline_from_lwmpoint(), lwline_interpolate_points(), lwline_measured_from_lwline(), lwline_setPoint4d(), lwpointiterator_modify_next(), ptarray_flip_coordinates(), ptarray_force_geodetic(), ptarray_from_GEOSCoordSeq(), ptarray_from_SFCGAL(), ptarray_insert_point(), ptarray_nudge_geodetic(), ptarray_scale(), ptarray_swap_ordinates(), ptarray_transform(), removePoints(), rt_raster_get_convex_hull(), rt_raster_get_envelope_geom(), rt_raster_get_perimeter(), rt_raster_pixel_as_polygon(), rt_util_envelope_to_lwpoly(), test_lwline_clip_big(), and test_lwline_crossing_short_lines().

Here is the call graph for this function:
Here is the caller graph for this function: