Return the geometry of a face.
2819 uint64_t numfaceedges;
2829 lwerror(
"SQL/MM Spatial exception - universal face has no geometry");
2841 if (numfaceedges == UINT64_MAX)
2846 LWDEBUGF(1,
"lwt_GetFaceGeometry: lwt_be_getEdgeByFace returned %d edges", numfaceedges);
2848 if ( numfaceedges == 0 )
2852 if (i == UINT64_MAX)
2858 lwerror(
"SQL/MM Spatial exception - non-existent face.");
2863 lwerror(
"Corrupted topology: multiple face records have face_id=%"
2869 lwnotice(
"Corrupted topology: face %"
2886 lwnotice(
"Corrupted topology: face %"
LWGEOM * lwpoly_as_lwgeom(const LWPOLY *obj)
LWPOLY * lwpoly_construct_empty(int32_t srid, char hasz, char hasm)
#define LWT_COL_EDGE_FACE_RIGHT
#define LWT_COL_FACE_FACE_ID
Face fields.
#define LWT_COL_EDGE_FACE_LEFT
#define LWT_COL_EDGE_EDGE_ID
Edge fields.
#define LWT_COL_EDGE_GEOM
#define LWDEBUGF(level, msg,...)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
void lwnotice(const char *fmt,...)
Write a notice out to the notice handler.
const char * lwt_be_lastErrorMessage(const LWT_BE_IFACE *be)
static LWT_ISO_EDGE * lwt_be_getEdgeByFace(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t *numelems, int fields, const GBOX *box)
static LWGEOM * _lwt_FaceByEdges(LWT_TOPOLOGY *topo, LWT_ISO_EDGE *edges, int numfaceedges)
static LWT_ISO_FACE * lwt_be_getFaceById(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t *numelems, int fields)
static void _lwt_release_edges(LWT_ISO_EDGE *edges, int num_edges)
const LWT_BE_IFACE * be_iface