PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ IntervalTreeBuilder()

static int IntervalTreeBuilder ( const LWGEOM lwgeom,
GeomCache *  geomcache 
)
static

Builder, freeer and public accessor for cached IntervalTrees.

Definition at line 62 of file lwgeom_itree.c.

63 {
64  IntervalTreeGeomCache *cache = (IntervalTreeGeomCache*)geomcache;
65  IntervalTree *itree = itree_from_lwgeom(lwgeom);
66 
67  if (cache->itree)
68  {
69  itree_free(cache->itree);
70  cache->itree = 0;
71  }
72  if (!itree)
73  return LW_FAILURE;
74 
75  cache->itree = itree;
76  return LW_SUCCESS;
77 }
IntervalTree * itree_from_lwgeom(const LWGEOM *geom)
Definition: intervaltree.c:310
void itree_free(IntervalTree *itree)
Definition: intervaltree.c:28
#define LW_FAILURE
Definition: liblwgeom.h:96
#define LW_SUCCESS
Definition: liblwgeom.h:97
IntervalTree * itree
Definition: lwgeom_itree.c:55

References IntervalTreeGeomCache::itree, itree_free(), itree_from_lwgeom(), LW_FAILURE, and LW_SUCCESS.

Here is the call graph for this function: