PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ _lwt_GetIsoNode()

static LWT_ISO_NODE* _lwt_GetIsoNode ( LWT_TOPOLOGY topo,
LWT_ELEMID  nid 
)
static

Definition at line 3696 of file lwgeom_topo.c.

3697 {
3698  LWT_ISO_NODE *node;
3699  uint64_t n = 1;
3700 
3701  node = lwt_be_getNodeById( topo, &nid, &n, LWT_COL_NODE_CONTAINING_FACE );
3702  if (n == UINT64_MAX)
3703  {
3704  PGTOPO_BE_ERROR();
3705  return 0;
3706  }
3707  if ( n < 1 ) {
3708  lwerror("SQL/MM Spatial exception - non-existent node");
3709  return 0;
3710  }
3711  if ( node->containing_face == -1 )
3712  {
3713  lwfree(node);
3714  lwerror("SQL/MM Spatial exception - not isolated node");
3715  return 0;
3716  }
3717 
3718  return node;
3719 }
void lwfree(void *mem)
Definition: lwutil.c:248
#define LWT_COL_NODE_CONTAINING_FACE
#define PGTOPO_BE_ERROR()
void void lwerror(const char *fmt,...) __attribute__((format(printf
Write a notice out to the error handler.
LWT_ISO_NODE * lwt_be_getNodeById(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t *numelems, int fields)
Definition: lwgeom_topo.c:150
LWT_ELEMID containing_face

References LWT_ISO_NODE::containing_face, lwerror(), lwfree(), lwt_be_getNodeById(), LWT_COL_NODE_CONTAINING_FACE, and PGTOPO_BE_ERROR.

Referenced by lwt_MoveIsoNode(), and lwt_RemoveIsoNode().

Here is the call graph for this function:
Here is the caller graph for this function: