updateIndex method
void
updateIndex(
- SpatialIndex<
InteractivePolyline< index,Object> > - Op<
InteractivePolyline< op,Object> > - InteractivePolyline<
Object> ? getItem()
override
Updates the spatial index based on the operation.
getItem allows retrieving the current state of an item by key (useful for Move ops).
Implementation
@override
void updateIndex(
SpatialIndex<InteractivePolyline> index,
Op<InteractivePolyline> op,
InteractivePolyline? Function(Key) getItem,
) {
switch (op) {
case AddPolylineOp(:final polyline):
index.add(polyline.key!, polyline, getBounds(polyline));
case RemovePolylineOp(:final key):
index.remove(key);
case UpdatePolylineOp(:final newPolyline):
index.add(newPolyline.key!, newPolyline, getBounds(newPolyline));
case MovePolylineOp(:final key):
final item = getItem(key);
if (item != null) {
index.add(key, item, getBounds(item));
}
case MovePointPolylineOp(:final key):
final item = getItem(key);
if (item != null) {
index.add(key, item, getBounds(item));
}
}
}