PostGIS  2.5.0rc1dev-r@@SVN_REVISION@@

◆ getPoint2d_cp()

const POINT2D* getPoint2d_cp ( const POINTARRAY pa,
uint32_t  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 364 of file lwgeom_api.c.

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

Referenced by _lwt_AddFaceSplit(), _lwt_AddPoint(), _lwt_CheckEdgeCrossing(), 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(), lwgeom_remove_repeated_points_in_place(), lwgeom_simplify_in_place(), lwgeom_subdivide_recursive(), lwline_covers_lwline(), lwline_covers_lwpoint(), lwline_crossing_direction(), lwline_interpolate_points(), lwpoint_from_wkb_state(), lwpoint_inside_circle(), lwpoint_to_latlon(), lwpoly_covers_pointarray(), lwpoly_intersects_line(), lwt_ChangeEdgeGeom(), 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_in_place(), ptarray_length_2d(), ptarray_locate_point(), ptarray_npoints_in_rect(), ptarray_remove_repeated_points_in_place(), ptarray_signed_area(), ptarray_to_GEOSCoordSeq(), ptarrayarc_contains_point_partial(), rect_leaf_node_distance(), rect_leaf_node_intersects(), rect_leaf_node_segment_side(), rect_node_leaf_new(), and rect_tree_get_point().

365 {
366  if ( ! pa ) return 0;
367 
368  if ( n>=pa->npoints )
369  {
370  lwerror("getPoint2d_cp: point offset out of range");
371  return 0; /*error */
372  }
373 
374  return (const POINT2D*)getPoint_internal(pa, n);
375 }
uint8_t * getPoint_internal(const POINTARRAY *pa, uint32_t n)
Definition: ptarray.c:1743
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:190
uint32_t npoints
Definition: liblwgeom.h:373
Here is the call graph for this function: