blob: d0fca8b2ed36707374e161c8df1d8ca3f1a1ca6d [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/* The following are function pointers to GEOS C APIs provided by
* libgeos_c. These functions must be called after a successful invocation of
* `load_geos_c_library` or `load_geos_c_from_handle` */
GEOS_FP_QUALIFIER GEOSContextHandle_t (*dyn_GEOS_init_r)();
GEOS_FP_QUALIFIER void (*dyn_GEOS_finish_r)(GEOSContextHandle_t handle);
GEOS_FP_QUALIFIER GEOSMessageHandler (*dyn_GEOSContext_setErrorHandler_r)(
GEOSContextHandle_t extHandle, GEOSMessageHandler ef);
GEOS_FP_QUALIFIER int (*dyn_GEOSGeomTypeId_r)(GEOSContextHandle_t handle,
const GEOSGeometry *g);
GEOS_FP_QUALIFIER char (*dyn_GEOSHasZ_r)(GEOSContextHandle_t handle,
const GEOSGeometry *g);
GEOS_FP_QUALIFIER int (*dyn_GEOSGetSRID_r)(GEOSContextHandle_t handle,
const GEOSGeometry *g);
GEOS_FP_QUALIFIER void (*dyn_GEOSSetSRID_r)(GEOSContextHandle_t handle,
GEOSGeometry *g, int SRID);
GEOS_FP_QUALIFIER const GEOSCoordSequence *(*dyn_GEOSGeom_getCoordSeq_r)(
GEOSContextHandle_t handle, const GEOSGeometry *g);
GEOS_FP_QUALIFIER int (*dyn_GEOSCoordSeq_getDimensions_r)(
GEOSContextHandle_t handle, const GEOSCoordSequence *s, unsigned int *dims);
GEOS_FP_QUALIFIER int (*dyn_GEOSCoordSeq_getSize_r)(GEOSContextHandle_t handle,
const GEOSCoordSequence *s,
unsigned int *size);
GEOS_FP_QUALIFIER GEOSCoordSequence *(*dyn_GEOSCoordSeq_copyFromBuffer_r)(
GEOSContextHandle_t handle, const double *buf, unsigned int size, int hasZ,
int hasM);
GEOS_FP_QUALIFIER int (*dyn_GEOSCoordSeq_copyToBuffer_r)(
GEOSContextHandle_t handle, const GEOSCoordSequence *s, double *buf,
int hasZ, int hasM);
GEOS_FP_QUALIFIER GEOSCoordSequence *(*dyn_GEOSCoordSeq_create_r)(
GEOSContextHandle_t handle, unsigned int size, unsigned int dims);
GEOS_FP_QUALIFIER void (*dyn_GEOSCoordSeq_destroy_r)(GEOSContextHandle_t handle,
GEOSCoordSequence *s);
GEOS_FP_QUALIFIER int (*dyn_GEOSCoordSeq_getXY_r)(GEOSContextHandle_t handle,
const GEOSCoordSequence *s,
unsigned int idx, double *x,
double *y);
GEOS_FP_QUALIFIER int (*dyn_GEOSCoordSeq_getXYZ_r)(GEOSContextHandle_t handle,
const GEOSCoordSequence *s,
unsigned int idx, double *x,
double *y, double *z);
GEOS_FP_QUALIFIER int (*dyn_GEOSCoordSeq_setXY_r)(GEOSContextHandle_t handle,
GEOSCoordSequence *s,
unsigned int idx, double x,
double y);
GEOS_FP_QUALIFIER int (*dyn_GEOSCoordSeq_setXYZ_r)(GEOSContextHandle_t handle,
GEOSCoordSequence *s,
unsigned int idx, double x,
double y, double z);
GEOS_FP_QUALIFIER const GEOSGeometry *(*dyn_GEOSGetExteriorRing_r)(
GEOSContextHandle_t handle, const GEOSGeometry *g);
GEOS_FP_QUALIFIER int (*dyn_GEOSGetNumInteriorRings_r)(
GEOSContextHandle_t handle, const GEOSGeometry *g);
GEOS_FP_QUALIFIER int (*dyn_GEOSGetNumCoordinates_r)(GEOSContextHandle_t handle,
const GEOSGeometry *g);
GEOS_FP_QUALIFIER int (*dyn_GEOSGeom_getCoordinateDimension_r)(
GEOSContextHandle_t handle, const GEOSGeometry *g);
GEOS_FP_QUALIFIER const GEOSGeometry *(*dyn_GEOSGetInteriorRingN_r)(
GEOSContextHandle_t handle, const GEOSGeometry *g, int n);
GEOS_FP_QUALIFIER int (*dyn_GEOSGetNumGeometries_r)(GEOSContextHandle_t handle,
const GEOSGeometry *g);
GEOS_FP_QUALIFIER const GEOSGeometry *(*dyn_GEOSGetGeometryN_r)(
GEOSContextHandle_t handle, const GEOSGeometry *g, int n);
GEOS_FP_QUALIFIER char (*dyn_GEOSisEmpty_r)(GEOSContextHandle_t handle,
const GEOSGeometry *g);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createEmptyPoint_r)(
GEOSContextHandle_t handle);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createPoint_r)(
GEOSContextHandle_t handle, GEOSCoordSequence *s);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createPointFromXY_r)(
GEOSContextHandle_t handle, double x, double y);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createEmptyLineString_r)(
GEOSContextHandle_t handle);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createLineString_r)(
GEOSContextHandle_t handle, GEOSCoordSequence *s);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createEmptyPolygon_r)(
GEOSContextHandle_t handle);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createPolygon_r)(
GEOSContextHandle_t handle, GEOSGeometry *shell, GEOSGeometry **holes,
unsigned int nholes);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createLinearRing_r)(
GEOSContextHandle_t handle, GEOSCoordSequence *s);
GEOS_FP_QUALIFIER void (*dyn_GEOSGeom_destroy_r)(GEOSContextHandle_t handle,
GEOSGeometry *g);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createCollection_r)(
GEOSContextHandle_t handle, int type, GEOSGeometry **geoms,
unsigned int ngeoms);
GEOS_FP_QUALIFIER GEOSGeometry *(*dyn_GEOSGeom_createEmptyCollection_r)(
GEOSContextHandle_t handle, int type);