33 #ifndef _CPL_QUAD_TREE_H_INCLUDED
34 #define _CPL_QUAD_TREE_H_INCLUDED
54 double minx, miny, maxx, maxy;
59 typedef void (*CPLQuadTreeGetBoundsFunc)(
const void* hFeature,
CPLRectObj* pBounds);
60 typedef int (*CPLQuadTreeForeachFunc)(
void* pElt,
void* pUserData);
61 typedef void (*CPLQuadTreeDumpFeatureFunc)(
const void* hFeature,
int nIndentLevel,
void* pUserData);
66 CPLQuadTreeGetBoundsFunc pfnGetBounds);
86 CPLQuadTreeForeachFunc pfnForeach,
89 void CPL_DLL CPLQuadTreeDump(
const CPLQuadTree *hQuadtree,
90 CPLQuadTreeDumpFeatureFunc pfnDumpFeatureFunc,
92 void CPL_DLL CPLQuadTreeGetStats(
const CPLQuadTree *hQuadtree,
96 int* pnMaxBucketCapacity);
void CPL_DLL ** CPLQuadTreeSearch(const CPLQuadTree *hQuadtree, const CPLRectObj *pAoi, int *pnFeatureCount)
Definition: cpl_quad_tree.cpp:670
int CPL_DLL CPLQuadTreeGetAdvisedMaxDepth(int nExpectedFeatures)
Definition: cpl_quad_tree.cpp:184
void CPL_DLL CPLQuadTreeForeach(const CPLQuadTree *hQuadtree, CPLQuadTreeForeachFunc pfnForeach, void *pUserData)
Definition: cpl_quad_tree.cpp:735
void CPL_DLL CPLQuadTreeDestroy(CPLQuadTree *hQuadtree)
Definition: cpl_quad_tree.cpp:334
Definition: cpl_quad_tree.cpp:60
void CPL_DLL CPLQuadTreeInsertWithBounds(CPLQuadTree *hQuadtree, void *hFeature, const CPLRectObj *psBounds)
Definition: cpl_quad_tree.cpp:292
void CPL_DLL CPLQuadTreeInsert(CPLQuadTree *hQuadtree, void *hFeature)
Definition: cpl_quad_tree.cpp:267
Definition: cpl_quad_tree.h:53
CPLQuadTree CPL_DLL * CPLQuadTreeCreate(const CPLRectObj *pGlobalBounds, CPLQuadTreeGetBoundsFunc pfnGetBounds)
Definition: cpl_quad_tree.cpp:146
void CPL_DLL CPLQuadTreeSetMaxDepth(CPLQuadTree *hQuadtree, int nMaxDepth)
Definition: cpl_quad_tree.cpp:232
void CPL_DLL CPLQuadTreeSetBucketCapacity(CPLQuadTree *hQuadtree, int nBucketCapacity)
Definition: cpl_quad_tree.cpp:250