16 #ifndef GEOS_INDEX_STRTREE_SIRTREE_H
17 #define GEOS_INDEX_STRTREE_SIRTREE_H
19 #include <geos/export.h>
21 #include <geos/index/strtree/AbstractSTRtree.h>
22 #include <geos/index/strtree/Interval.h>
57 SIRtree(std::size_t nodeCapacity);
61 void insert(
double x1,
double x2,
void* item);
67 std::vector<void*>*
query(
double x1,
double x2)
69 std::vector<void*>* results =
new std::vector<void*>();
70 Interval interval(std::min(x1, x2), std::max(x1, x2));
78 std::vector<void*>*
query(
double x) {
return query(x,x); }
85 bool intersects(
const void* aBounds,
const void* bBounds);
92 std::auto_ptr<BoundableList> createParentBoundables(
95 AbstractNode* createNode(
int level);
99 std::auto_ptr<BoundableList> sortBoundables(
const BoundableList* input);
103 IntersectsOp* intersectsOp;
111 #endif // GEOS_INDEX_STRTREE_SIRTREE_H
A contiguous portion of 1D-space. Used internally by SIRtree.
Definition: strtree/Interval.h:29
std::vector< void * > * query(double x1, double x2)
Definition: SIRtree.h:67
std::vector< void * > * query(double x)
Definition: SIRtree.h:78
Base class for STRtree and SIRtree.
Definition: AbstractSTRtree.h:133
void query(const void *searchBounds, std::vector< void * > &foundItems)
Also builds the tree, if necessary.
IntersectsOp * getIntersectsOp()
Definition: SIRtree.h:97
A test for intersection between two bounds, necessary because subclasses of AbstractSTRtree have diff...
Definition: AbstractSTRtree.h:167
virtual void insert(const void *bounds, void *item)
Also builds the tree, if necessary.
One-dimensional version of an STR-packed R-tree.
Definition: SIRtree.h:42
std::vector< Boundable * > BoundableList
A list of boundables. TODO: use a list.
Definition: AbstractSTRtree.h:45