GEOS: geos::index::strtree::SIRtree Class Reference

Public Member Functions | Protected Member Functions

# geos::index::strtree::SIRtree Class Reference

One-dimensional version of an STR-packed R-tree. More...

`#include <SIRtree.h>`

Inheritance diagram for geos::index::strtree::SIRtree:

List of all members.

## 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)
## Protected Member Functions
std::auto_ptr< BoundableList > | createParentBoundables (BoundableList *childBoundables, int newLevel)
| Sorts the childBoundables then divides them into groups of size M, where M is the node capacity.
AbstractNode * | createNode (int level)
IntersectsOp * | getIntersectsOp ()
std::auto_ptr< BoundableList > | sortBoundables (const BoundableList *input)

## Detailed Description

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.

See also:
  STRtree

## Member Function Documentation

IntersectsOp* geos::index::strtree::SIRtree::getIntersectsOp | ( | ) | `[inline, protected, virtual]`

Returns:
  a test for intersection between two bounds, necessary because subclasses of AbstractSTRtree have different implementations of bounds.

See also:
  IntersectsOp

Implements geos::index::strtree::AbstractSTRtree.

std::vector<void*>* geos::index::strtree::SIRtree::query | ( | double | x1,
|  | double | x2
| ) |  | `[inline]`

Returns items whose bounds intersect the given bounds.

Parameters:

  x1 | possibly equal to x2

References geos::index::strtree::AbstractSTRtree::query().

std::vector<void*>* geos::index::strtree::SIRtree::query | ( | double | x ) | `[inline]`

Returns items whose bounds intersect the given value.

References query().

Referenced by query().

The documentation for this class was generated from the following file:

- SIRtree.h