DiagramSpatialIndex constructor
DiagramSpatialIndex(
- Iterable<
ResolvedElement> elements
Implementation
DiagramSpatialIndex(Iterable<ResolvedElement> elements)
: _elements = DiagramPersistentList<ResolvedElement>.snapshot(
elements.toList(),
),
_cells = _SpatialBuckets(),
_global = [] {
_positions = {
for (var i = 0; i < _elements.length; i++) _elements[i].id: i,
};
for (var index = 0; index < _elements.length; index += 1) {
final cells = _cellsFor(_elements[index].bounds);
if (cells == null) {
_global.add(_elements[index].id);
continue;
}
for (final cell in cells) {
(_cells[cell] ??= <String>[]).add(_elements[index].id);
}
}
}