PostGIS  3.0.6dev-r@@SVN_REVISION@@

◆ getPoint2d_p()

int getPoint2d_p ( const POINTARRAY pa,
uint32_t  n,
POINT2D point 
)

Definition at line 349 of file lwgeom_api.c.

350 {
351  if ( ! pa )
352  {
353  lwerror("%s [%d] NULL POINTARRAY input", __FILE__, __LINE__);
354  return 0;
355  }
356 
357  if ( n>=pa->npoints )
358  {
359  lwnotice("%s [%d] called with n=%d and npoints=%d", __FILE__, __LINE__, n, pa->npoints);
360  return 0;
361  }
362 
363  /* this does x,y */
364  memcpy(point, getPoint_internal(pa, n), sizeof(POINT2D));
365  return 1;
366 }
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:190
void lwnotice(const char *fmt,...)
Write a notice out to the notice handler.
Definition: lwutil.c:177
static uint8_t * getPoint_internal(const POINTARRAY *pa, uint32_t n)
Definition: lwinline.h:67
uint32_t npoints
Definition: liblwgeom.h:413

References getPoint_internal(), lwerror(), lwnotice(), and POINTARRAY::npoints.

Referenced by _lwt_AddEdge(), _lwt_AddFaceSplit(), _lwt_EdgeRingIterator_next(), _lwt_FindAdjacentEdges(), _lwt_FindFaceContainingRing(), _lwt_FindNextRingEdge(), _lwt_FirstDistinctVertex2D(), _lwt_GetInteriorEdgePoint(), assvg_point_buf(), line2pts(), LWGEOM_angle(), LWGEOM_azimuth(), lwgeom_covers_lwgeom_sphere(), lwpoint_getPoint2d_p(), lwt_AddIsoEdge(), lwt_ChangeEdgeGeom(), lwt_GetNodeByPoint(), lwtriangle_area(), point_in_multipolygon(), point_in_multipolygon_rtree(), point_in_polygon(), point_in_polygon_rtree(), pointArray_svg_abs(), ptarray_append_ptarray(), ptarray_area_spheroid(), ptarray_check_geodetic(), ptarray_contains_point_sphere(), ptarray_to_x3d3_sb(), RASTER_nearestValue(), RASTER_setPixelValuesGeomval(), and test_lwgeom_split().

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