PostGIS  2.4.9dev-r@@SVN_REVISION@@

◆ getPoint2d_cp()

const POINT2D* getPoint2d_cp ( const POINTARRAY pa,
int  n 
)

Returns a pointer into the POINTARRAY serialized_ptlist, suitable for reading from.

Returns a POINT2D 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 373 of file lwgeom_api.c.

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

Referenced by dbscan_update_context(), encode_ptarray(), geography_centroid_from_mline(), geography_centroid_from_mpoly(), geometry_to_path(), geometry_to_polygon(), geos_envelope_surrogate(), getPoint2d(), lw_curvering_getfirstpoint2d_cp(), lw_dist2d_fast_ptarray_ptarray(), lw_dist2d_line_curvepoly(), lw_dist2d_line_poly(), lw_dist2d_point_circstring(), lw_dist2d_point_curvepoly(), lw_dist2d_point_line(), lw_dist2d_point_point(), lw_dist2d_point_poly(), lw_dist2d_poly_poly(), lw_dist2d_pre_seg_seg(), lw_dist2d_pt_ptarray(), lw_dist2d_pt_ptarrayarc(), lw_dist2d_ptarray_ptarray(), lw_dist2d_ptarray_ptarrayarc(), lw_dist2d_ptarrayarc_ptarrayarc(), lwgeom_cluster_2d_kmeans(), lwgeom_distance_spheroid(), lwline_covers_lwline(), lwline_covers_lwpoint(), lwline_crossing_direction(), lwpoint_from_wkb_state(), lwpoint_inside_circle(), lwpoint_to_latlon(), lwpoly_covers_pointarray(), lwpoly_intersects_line(), point_in_ring(), point_in_ring_rtree(), pointArray_svg_rel(), pointarray_to_encoded_polyline(), pointArray_to_geojson(), pointArray_toGML2(), pointArray_toGML3(), pt_in_ring_2d(), ptarray_arc_length_2d(), ptarray_area_sphere(), ptarray_calculate_gbox_geodetic(), ptarray_contains_point_partial(), ptarray_distance_spheroid(), ptarray_dp_findsplit(), ptarray_length_2d(), ptarray_locate_point(), ptarray_npoints_in_rect(), ptarray_remove_repeated_points_in_place(), ptarray_signed_area(), ptarray_to_GEOSCoordSeq(), and ptarrayarc_contains_point_partial().

374 {
375  if ( ! pa ) return 0;
376 
377  if ( (n<0) || (n>=pa->npoints))
378  {
379  lwerror("getPoint2D_const_p: point offset out of range");
380  return 0; /*error */
381  }
382 
383  return (const POINT2D*)getPoint_internal(pa, n);
384 }
int npoints
Definition: liblwgeom.h:371
uint8_t * getPoint_internal(const POINTARRAY *pa, int n)
Definition: ptarray.c:1753
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:190
Here is the call graph for this function: