insert method

void insert(
  1. int rowid,
  2. BBox bbox
)

Insert a single (rowid, bbox) pair. Splits propagate up if needed.

Implementation

void insert(int rowid, BBox bbox) {
  assert(bbox.dims == dims);
  final sibling = _insert(_root, _Entry.leaf(rowid, bbox));
  if (sibling != null) {
    _root = _Node(false, [
      _Entry.inner(_encloseNode(_root), _root),
      _Entry.inner(_encloseNode(sibling), sibling),
    ]);
  }
}