Extension of Grid providing distance-based operations. This trait adds spatial awareness to grid operations by computing distances to not-full cells, enabling dynamic neighbor search and efficient water distribution All operations are immutable: transformation methods return new instances.
Type parameters
- T
-
grid element type
Attributes
- Companion
- object
- Graph
-
- Supertypes
- Known subtypes
-
class MapBasedDistanceGrid[T]
Members list
Value members
Abstract methods
Lists cells that are not empty according to a presence criterion. For elements of type floodsim.model.cell.Cell this means water volume strictly greater than 0. Useful for identifying active flood areas and computing simulation statistics.
Lists cells that are not empty according to a presence criterion. For elements of type floodsim.model.cell.Cell this means water volume strictly greater than 0. Useful for identifying active flood areas and computing simulation statistics.
Attributes
- Returns
-
sequence of pairs (coordinate, element) that are not empty
Returns neighbors of the coordinate that are not "full" per the filling metric. Searches at a dynamic radius based on distance to nearest not-full cell, optimizing neighbor discovery in sparsely flooded grids. Falls back to immediate (distance=1) neighbors if no not-full cells found at computed radius. For elements of type floodsim.model.cell.Cell, "not full" means the flooded percentage is less than 100%.
Returns neighbors of the coordinate that are not "full" per the filling metric. Searches at a dynamic radius based on distance to nearest not-full cell, optimizing neighbor discovery in sparsely flooded grids. Falls back to immediate (distance=1) neighbors if no not-full cells found at computed radius. For elements of type floodsim.model.cell.Cell, "not full" means the flooded percentage is less than 100%.
Value parameters
- coordinate
-
source cell
Attributes
- Returns
-
sequence of pairs (coordinate, element) for cells eligible to receive water
Applies an immutable transformation to all elements, with access to their coordinates.
Applies an immutable transformation to all elements, with access to their coordinates.
Value parameters
- f
-
transformation function (coordinate, element) => new element
Attributes
- Returns
-
new floodsim.model.cell.Cell with transformed elements
Returns a new grid with the element at the coordinate replaced, if the coordinate is inside bounds. If the coordinate is out of bounds, returns the same instance unchanged.
Returns a new grid with the element at the coordinate replaced, if the coordinate is inside bounds. If the coordinate is out of bounds, returns the same instance unchanged.
Value parameters
- coordinate
-
position to update
- element
-
new element
Attributes
- Returns
-
new DistanceGrid with the update applied
Inherited and Abstract methods
Returns the element at the specified coordinate, if present.
Returns the element at the specified coordinate, if present.
Value parameters
- coordinate
-
requested position
Attributes
- Returns
-
Some(element) if present, otherwise None
- Inherited from:
- Grid
Grid height (number of rows).