|
GEOS 3.13.1
|
One-dimensional version of an STR-packed R-tree. More...
#include <SIRtree.h>
Public Member Functions | |
| 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. | |
| void | insert (double x1, double x2, void *item) |
| std::vector< void * > * | query (double x1, double x2) |
| std::vector< void * > * | query (double x) |
| SIRtree (const SIRtree &)=delete | |
| SIRtree & | operator= (const SIRtree &)=delete |
Public Member Functions inherited from geos::index::strtree::AbstractSTRtree | |
| AbstractSTRtree (std::size_t newNodeCapacity) | |
| Constructs an AbstractSTRtree with the specified maximum number of child nodes that a node may have. | |
| virtual void | build () |
| Creates parent nodes, grandparent nodes, and so forth up to the root node, for the data that has been inserted into the tree. | |
| virtual std::size_t | getNodeCapacity () |
| Returns the maximum number of child nodes that a node may have. | |
| void | iterate (ItemVisitor &visitor) |
| virtual void | boundablesAtLevel (int level, AbstractNode *top, BoundableList *boundables) |
| ItemsList * | itemsTree () |
| Gets a tree structure (as a nested list) corresponding to the structure of the items and nodes in this tree. | |
Protected Member Functions | |
| 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. | |
| AbstractNode * | createNode (int level) override |
| IntersectsOp * | getIntersectsOp () override |
| std::unique_ptr< BoundableList > | sortBoundables (const BoundableList *input) |
Protected Member Functions inherited from geos::index::strtree::AbstractSTRtree | |
| virtual AbstractNode * | lastNode (BoundableList *nodeList) |
| virtual AbstractNode * | getRoot () |
| void | query (const void *searchBounds, std::vector< void * > &foundItems) |
| Also builds the tree, if necessary. | |
| void | query (const void *searchBounds, ItemVisitor &visitor) |
| Also builds the tree, if necessary. | |
| void | query (const void *searchBounds, const AbstractNode &node, ItemVisitor &visitor) |
| bool | remove (const void *itemEnv, void *item) |
| Also builds the tree, if necessary. | |
| std::unique_ptr< BoundableList > | boundablesAtLevel (int level) |
Additional Inherited Members | |
Protected Attributes inherited from geos::index::strtree::AbstractSTRtree | |
| AbstractNode * | root |
| std::vector< AbstractNode * > * | nodes |
| std::size_t | nodeCapacity |
One-dimensional version of an STR-packed R-tree.
SIR stands for "Sort-Interval-Recursive".
STR-packed R-trees are described in: P. Rigaux, Michel Scholl and Agnes Voisard. Spatial Databases With Application To GIS. Morgan Kaufmann, San Francisco, 2002.
|
delete |
Disable copy construction and assignment. Apparently needed to make this class compile under MSVC. (See https://stackoverflow.com/q/29565299)
References SIRtree().
|
overrideprotectedvirtual |
Implements geos::index::strtree::AbstractSTRtree.
|
overrideprotectedvirtual |
Sorts the childBoundables then divides them into groups of size M, where M is the node capacity.
Reimplemented from geos::index::strtree::AbstractSTRtree.
|
inlineoverrideprotectedvirtual |
Implements geos::index::strtree::AbstractSTRtree.
|
inline |
Returns items whose bounds intersect the given value.
References query().
|
inline |
Returns items whose bounds intersect the given bounds.
| x1 | possibly equal to x2 |
| x2 |
References geos::index::strtree::AbstractSTRtree::query().
Referenced by query().