Definition at line 950 of file lwgeom_topo.c.
References _lwt_release_edges(), LWT_TOPOLOGY_T::be_iface, LWDEBUG, LWDEBUGF, lwerror(), lwfree(), lwgeom_as_lwcollection(), lwgeom_free(), lwgeom_split(), lwgeom_to_wkt(), lwt_be_ExistsCoincidentNode(), lwt_be_getEdgeById(), lwt_be_lastErrorMessage(), LWT_COL_EDGE_ALL, LWCOLLECTION::ngeoms, and WKT_EXTENDED.
Referenced by lwt_ModEdgeSplit(), and lwt_NewEdgesSplit().
958 LWDEBUG(1,
"calling lwt_be_getEdgeById");
960 LWDEBUGF(1,
"lwt_be_getEdgeById returned %p", *oldedge);
963 LWDEBUGF(1,
"lwt_be_getEdgeById returned NULL and set i=%d", i);
971 lwerror(
"SQL/MM Spatial exception - non-existent edge");
976 lwerror(
"Backend coding error: getEdgeById callback returned NULL " 977 "but numelements output parameter has value %d " 978 "(expected 0 or 1)", i);
987 if ( ! skipISOChecks )
989 LWDEBUG(1,
"calling lwt_be_ExistsCoincidentNode");
992 LWDEBUG(1,
"lwt_be_ExistsCoincidentNode returned");
994 lwerror(
"SQL/MM Spatial exception - coincident node");
997 LWDEBUG(1,
"lwt_be_ExistsCoincidentNode returned");
1005 lwerror(
"could not split edge by point ?");
1009 if ( ! split_col ) {
1012 lwerror(
"lwgeom_as_lwcollection returned NULL");
1015 if (split_col->
ngeoms < 2) {
1018 lwerror(
"SQL/MM Spatial exception - point not on edge");
1026 LWDEBUGF(1,
"returning split col: %s", wkt);
char * lwgeom_to_wkt(const LWGEOM *geom, uint8_t variant, int precision, size_t *size_out)
WKT emitter function.
void lwgeom_free(LWGEOM *geom)
#define LWDEBUG(level, msg)
LWT_ISO_EDGE * lwt_be_getEdgeById(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, int *numelems, int fields)
const LWT_BE_IFACE * be_iface
int lwt_be_ExistsCoincidentNode(LWT_TOPOLOGY *topo, LWPOINT *pt)
LWCOLLECTION * lwgeom_as_lwcollection(const LWGEOM *lwgeom)
static void _lwt_release_edges(LWT_ISO_EDGE *edges, int num_edges)
#define LWDEBUGF(level, msg,...)
const char * lwt_be_lastErrorMessage(const LWT_BE_IFACE *be)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
LWGEOM * lwgeom_split(const LWGEOM *lwgeom_in, const LWGEOM *blade_in)