RangeIterator

RangeIterator is a wrapper over MutableS2ShapeIndex::Iterator with extra methods that are useful for merging the contents of two or more S2ShapeIndexes.

Constructors

this
this(MutableS2ShapeIndex index)

Construct a new RangeIterator positioned at the first cell of the index.

Members

Functions

cell
const(S2ShapeIndexCell) cell()
Undocumented in source. Be warned that the author may not have intended to support it.
clipped
const(S2ClippedShape) clipped()

Various other convenience methods for the current cell.

containsCenter
bool containsCenter()
Undocumented in source. Be warned that the author may not have intended to support it.
done
bool done()
Undocumented in source. Be warned that the author may not have intended to support it.
id
S2CellId id()

The current S2CellId and cell contents.

next
void next()
Undocumented in source. Be warned that the author may not have intended to support it.
numEdges
int numEdges()
Undocumented in source. Be warned that the author may not have intended to support it.
rangeMax
S2CellId rangeMax()
Undocumented in source. Be warned that the author may not have intended to support it.
rangeMin
S2CellId rangeMin()

The min and max leaf cell ids covered by the current cell. If Done() is true, these methods return a value larger than any valid cell id.

seekBeyond
void seekBeyond(RangeIterator target)

Positions the iterator at the first cell that follows "target", i.e. the first cell such that range_min() > target.range_max().

seekTo
void seekTo(RangeIterator target)

Positions the iterator at the first cell that overlaps or follows "target", i.e. such that range_max() >= target.range_min().

Meta