20 #ifndef GEOS_INDEX_STRTREE_STRTREE_H
21 #define GEOS_INDEX_STRTREE_STRTREE_H
23 #include <geos/export.h>
24 #include <geos/index/strtree/AbstractSTRtree.h>
25 #include <geos/index/SpatialIndex.h>
26 #include <geos/geom/Envelope.h>
32 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
71 bool intersects(
const void* aBounds,
const void* bBounds);
81 std::auto_ptr<BoundableList> createParentBoundables(
BoundableList* childBoundables,
int newLevel);
83 std::auto_ptr<BoundableList> createParentBoundablesFromVerticalSlices(std::vector<BoundableList*>* verticalSlices,
int newLevel);
85 STRIntersectsOp intersectsOp;
87 std::auto_ptr<BoundableList> sortBoundables(
const BoundableList* input);
89 std::auto_ptr<BoundableList> createParentBoundablesFromVerticalSlice(
98 std::vector<BoundableList*>* verticalSlices(
108 return &intersectsOp;
119 STRtree(std::size_t nodeCapacity=10);
125 static double avg(
double a,
double b) {
126 return (a + b) / 2.0;
142 return AbstractSTRtree::remove(itemEnv, item);
155 #endif // GEOS_INDEX_STRTREE_STRTREE_H