search method
All rowids whose bbox intersects query. Ordering is unspecified.
Implementation
Iterable<int> search(BBox query) sync* {
assert(query.dims == dims);
final stack = <_Node>[_root];
while (stack.isNotEmpty) {
final n = stack.removeLast();
for (final e in n.entries) {
if (!e.bbox.intersects(query)) continue;
if (n.isLeaf) {
yield e.rowid;
} else {
stack.add(e.child!);
}
}
}
}