A collection of elements accessible by a two-dimensional index.
Grids are a representation of a two-dimensional matrix, where there is a
default, or empty element that initially fills the grid, and is used when
the grid is resized, and can be replaced by a different element of the same
type, E
.
A grid is never empty, and always has a width and height of at least 1.
- Implementers
Constructors
- Grid.filled(int width, int height, {required E empty, E? fill})
-
Creates a new ListGrid with the given
width
andheight
.factory -
Grid.from(Grid<
E> other, {E? empty}) -
Creates a new ListGrid from an existing grid.
factory
-
Grid.fromCells(Iterable<
E> elements, {required int width, E? empty}) -
Creates a new ListGrid from
elements
in row-major order.factory -
Grid.fromRows(Iterable<
Iterable< rows, {E? empty})E> > -
Each element in
rows
, a column, must have the same length, and the resulting grid will have a width equal to the number of columns, and a height equal to the length of each column.factory - Grid.generate(int width, int height, E generator(Pos pos), {required E empty})
-
Creates a new ListGrid with the given
width
andheight
.factory
Properties
- bottomLeft → Pos
-
The bottom-left position of the grid.
no setter
- bottomRight → Pos
-
The bottom-right position of the grid.
no setter
- bounds → Rect
-
Bounds of the grid, anchored at the topLeft position.
no setter
-
cells
→ Iterable<
(Pos, E)> -
An iterable of positions and elements in the grid, in row-major order.
no setter
-
columns
→ Iterable<
Iterable< E> > -
Columns of the grid.
no setter
- empty → E
-
The default element for the grid, or the "empty" element.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- height ↔ int
-
Number of rows in the grid, and the upper bound for the y-coordinate.
getter/setter pair
- isEmpty → bool
-
Whether the grid is zero-length or is entirely filled with empty.
no setter
- isNotEmpty → bool
-
Whether the grid contains at least one element that is not empty.
no setter
- length → int
-
Total number of elements in the grid.
no setter
-
rows
→ Iterable<
Iterable< E> > -
Rows of the grid.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- topLeft → Pos
-
The top-left position of the grid.
no setter
- topRight → Pos
-
The top-right position of the grid.
no setter
- width ↔ int
-
Number of columns in the grid, and the upper bound for the x-coordinate.
getter/setter pair
Methods
-
asUnweighted(
{Iterable< Pos> directions = Direction.cardinal}) → Walkable<Pos> - Returns a view of this grid as an unweighted walkable.
-
asWeighted(
{required double weight(E, E, Pos), Iterable< Pos> directions = Direction.cardinal}) → WeightedWalkable<Pos> - Returns a view of this grid as a weighted walkable.
-
clear(
[Rect? bounds]) → void - Clears the grid, setting all elements to empty.
-
containsPos(
Pos pos) → bool - Returns whether a position is within the bounds of the grid.
-
copyFrom(
Grid< E> src, {Rect? source, Pos target = Pos.zero}) → void - Copies the elements from another grid into this grid.
-
fill(
E fill, [Rect? bounds]) → void - Fills the grid with the given element.
-
get(
Pos pos) → E - Returns the element at a position in the grid.
-
getUnchecked(
Pos pos) → E - Returns the element at a position in the grid.
-
getUnsafe(
Pos pos) → E - Returns the element at a position in the grid.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
resize(
int width, int height) → void -
Resizes the grid to the given
width
andheight
. -
set(
Pos pos, E value) → void - Sets the element at a position in the grid.
-
setUnchecked(
Pos pos, E value) → void - Sets the element at a position in the grid.
-
setUnsafe(
Pos pos, E value) → void - Sets the element at a position in the grid.
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
Pos pos) → E - Returns the element at a position in the grid.
-
operator []=(
Pos pos, E value) → void - Sets the element at a position in the grid.