#include <Bintree.h>
Public Member Functions | |
int | depth () |
int | size () |
int | nodeSize () |
void | insert (Interval *itemInterval, void *item) |
std::vector< void * > * | iterator () |
std::vector< void * > * | query (double x) |
std::vector< void * > * | query (Interval *interval) |
void | query (Interval *interval, std::vector< void * > *foundItems) |
Static Public Member Functions | |
Interval * | ensureExtent (const Interval *itemInterval, double minExtent) |
It indexes 1-dimensional intervals (which of course may be the projection of 2-D objects on an axis). It supports range searching (where the range may be a single point).
This implementation does not require specifying the extent of the inserted items beforehand. It will automatically expand to accomodate any extent of dataset.
This index is different to the Interval Tree of Edelsbrunner or the Segment Tree of Bentley.
|
Ensure that the Interval for the inserted item has non-zero extents. Use the current minExtent to pad it, if necessary NOTE: in GEOS this function always return a newly allocated object with ownership transferred to caller. TODO: change this ?
|
|
|