15#ifndef GEOS_INDEX_STRTREE_SIRTREE_H
16#define GEOS_INDEX_STRTREE_SIRTREE_H
18#include <geos/export.h>
20#include <geos/index/strtree/AbstractSTRtree.h>
21#include <geos/index/strtree/Interval.h>
42 using AbstractSTRtree::insert;
43 using AbstractSTRtree::query;
60 void insert(
double x1,
double x2,
void* item);
70 std::vector<void*>* results =
new std::vector<void*>();
71 Interval interval(std::min(x1, x2), std::max(x1, x2));
72 AbstractSTRtree::query(&interval, *results);
96 bool intersects(
const void* aBounds,
const void* bBounds)
override;
114 std::unique_ptr<BoundableList> sortBoundables(
const BoundableList* input);
117 IntersectsOp* intersectsOp;
118 std::vector<std::unique_ptr<Interval>> intervals;
A node of the STR tree.
Definition AbstractNode.h:44
A test for intersection between two bounds, necessary because subclasses of AbstractSTRtree have diff...
Definition AbstractSTRtree.h:176
Base class for STRtree and SIRtree.
Definition AbstractSTRtree.h:139
A contiguous portion of 1D-space. Used internally by SIRtree.
Definition strtree/Interval.h:28
One-dimensional version of an STR-packed R-tree.
Definition SIRtree.h:41
SIRtree()
Constructs an SIRtree with the default node capacity.
SIRtree(std::size_t nodeCapacity)
Constructs an SIRtree with the given maximum number of child nodes that a node may have.
std::vector< void * > * query(double x)
Definition SIRtree.h:80
SIRtree(const SIRtree &)=delete
std::unique_ptr< BoundableList > createParentBoundables(BoundableList *childBoundables, int newLevel) override
Sorts the childBoundables then divides them into groups of size M, where M is the node capacity.
std::vector< void * > * query(double x1, double x2)
Definition SIRtree.h:68
IntersectsOp * getIntersectsOp() override
Definition SIRtree.h:109
std::vector< Boundable * > BoundableList
A list of boundables. TODO: use a list.
Definition AbstractSTRtree.h:44
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:26