PostGIS  2.3.7dev-r@@SVN_REVISION@@
LWT_BE_CALLBACKS_T Struct Reference

Structure containing base backend callbacks. More...

#include <liblwgeom_topo.h>

Collaboration diagram for LWT_BE_CALLBACKS_T:
Collaboration graph

Data Fields

const char *(* lastErrorMessage )(const LWT_BE_DATA *be)
 Read last error message from backend. More...
 
LWT_BE_TOPOLOGY *(* createTopology )(const LWT_BE_DATA *be, const char *name, int srid, double precision, int hasZ)
 Create a new topology in the backend. More...
 
LWT_BE_TOPOLOGY *(* loadTopologyByName )(const LWT_BE_DATA *be, const char *name)
 Load a topology from the backend. More...
 
int(* freeTopology )(LWT_BE_TOPOLOGY *topo)
 Release memory associated to a backend topology. More...
 
LWT_ISO_NODE *(* getNodeById )(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, int *numelems, int fields)
 Get nodes by id. More...
 
LWT_ISO_NODE *(* getNodeWithinDistance2D )(const LWT_BE_TOPOLOGY *topo, const LWPOINT *pt, double dist, int *numelems, int fields, int limit)
 Get nodes within distance by point. More...
 
int(* insertNodes )(const LWT_BE_TOPOLOGY *topo, LWT_ISO_NODE *nodes, int numelems)
 Insert nodes. More...
 
LWT_ISO_EDGE *(* getEdgeById )(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, int *numelems, int fields)
 Get edge by id. More...
 
LWT_ISO_EDGE *(* getEdgeWithinDistance2D )(const LWT_BE_TOPOLOGY *topo, const LWPOINT *pt, double dist, int *numelems, int fields, int limit)
 Get edges within distance by point. More...
 
LWT_ELEMID(* getNextEdgeId )(const LWT_BE_TOPOLOGY *topo)
 Get next available edge identifier. More...
 
int(* insertEdges )(const LWT_BE_TOPOLOGY *topo, LWT_ISO_EDGE *edges, int numelems)
 Insert edges. More...
 
int(* updateEdges )(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_EDGE *sel_edge, int sel_fields, const LWT_ISO_EDGE *upd_edge, int upd_fields, const LWT_ISO_EDGE *exc_edge, int exc_fields)
 Update edges selected by fields match/mismatch. More...
 
LWT_ISO_FACE *(* getFaceById )(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, int *numelems, int fields)
 Get faces by id. More...
 
LWT_ELEMID(* getFaceContainingPoint )(const LWT_BE_TOPOLOGY *topo, const LWPOINT *pt)
 Get face containing point. More...
 
int(* updateTopoGeomEdgeSplit )(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID split_edge, LWT_ELEMID new_edge1, LWT_ELEMID new_edge2)
 Update TopoGeometry objects after an edge split event. More...
 
int(* deleteEdges )(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_EDGE *sel_edge, int sel_fields)
 Delete edges. More...
 
LWT_ISO_NODE *(* getNodeWithinBox2D )(const LWT_BE_TOPOLOGY *topo, const GBOX *box, int *numelems, int fields, int limit)
 Get edges whose bounding box overlaps a given 2D bounding box. More...
 
LWT_ISO_EDGE *(* getEdgeWithinBox2D )(const LWT_BE_TOPOLOGY *topo, const GBOX *box, int *numelems, int fields, int limit)
 Get edges whose bounding box overlaps a given 2D bounding box. More...
 
LWT_ISO_EDGE *(* getEdgeByNode )(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, int *numelems, int fields)
 Get edges that start or end on any of the given node identifiers. More...
 
int(* updateNodes )(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_NODE *sel_node, int sel_fields, const LWT_ISO_NODE *upd_node, int upd_fields, const LWT_ISO_NODE *exc_node, int exc_fields)
 Update nodes selected by fields match/mismatch. More...
 
int(* updateTopoGeomFaceSplit )(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID split_face, LWT_ELEMID new_face1, LWT_ELEMID new_face2)
 Update TopoGeometry objects after a face split event. More...
 
int(* insertFaces )(const LWT_BE_TOPOLOGY *topo, LWT_ISO_FACE *faces, int numelems)
 Insert faces. More...
 
int(* updateFacesById )(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_FACE *faces, int numfaces)
 Update faces by id. More...
 
LWT_ELEMID *(* getRingEdges )(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID edge, int *numedges, int limit)
 
int(* updateEdgesById )(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_EDGE *edges, int numedges, int upd_fields)
 Update edges by id. More...
 
LWT_ISO_EDGE *(* getEdgeByFace )(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, int *numelems, int fields, const GBOX *box)
 Get edges that have any of the given faces on the left or right side and optionally whose bounding box overlaps the given one. More...
 
LWT_ISO_NODE *(* getNodeByFace )(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *faces, int *numelems, int fields, const GBOX *box)
 Get isolated nodes contained in any of the given faces. More...
 
int(* updateNodesById )(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_NODE *nodes, int numnodes, int upd_fields)
 Update nodes by id. More...
 
int(* deleteFacesById )(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, int numelems)
 Delete faces by id. More...
 
int(* topoGetSRID )(const LWT_BE_TOPOLOGY *topo)
 Get topology SRID. More...
 
double(* topoGetPrecision )(const LWT_BE_TOPOLOGY *topo)
 Get topology precision. More...
 
int(* topoHasZ )(const LWT_BE_TOPOLOGY *topo)
 Get topology Z flag. More...
 
int(* deleteNodesById )(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, int numelems)
 Delete nodes by id. More...
 
int(* checkTopoGeomRemEdge )(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID rem_edge, LWT_ELEMID face_left, LWT_ELEMID face_right)
 Check TopoGeometry objects before an edge removal event. More...
 
int(* updateTopoGeomFaceHeal )(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID face1, LWT_ELEMID face2, LWT_ELEMID newface)
 Update TopoGeometry objects after healing two faces. More...
 
int(* checkTopoGeomRemNode )(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID rem_node, LWT_ELEMID e1, LWT_ELEMID e2)
 Check TopoGeometry objects before a node removal event. More...
 
int(* updateTopoGeomEdgeHeal )(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID edge1, LWT_ELEMID edge2, LWT_ELEMID newedge)
 Update TopoGeometry objects after healing two edges. More...
 
LWT_ISO_FACE *(* getFaceWithinBox2D )(const LWT_BE_TOPOLOGY *topo, const GBOX *box, int *numelems, int fields, int limit)
 Get faces whose bounding box overlaps a given 2D bounding box. More...
 

Detailed Description

Structure containing base backend callbacks.

Used for registering into the backend iface

Definition at line 140 of file liblwgeom_topo.h.


The documentation for this struct was generated from the following file: