OpenTTD Source 20241224-master-gee860a5c8e
|
Iterator to iterate over a tile area (rectangle) of the map. More...
#include <tilearea_type.h>
Public Member Functions | |
OrthogonalTileIterator (const OrthogonalTileArea &ta) | |
Construct the iterator. | |
OrthogonalTileIterator (TileIndex corner1, TileIndex corner2) | |
Construct the iterator. | |
TileIterator & | operator++ () override |
Move ourselves to the next tile in the rectangle on the map. | |
std::unique_ptr< TileIterator > | Clone () const override |
Allocate a new iterator that is a copy of this one. | |
Public Member Functions inherited from TileIterator | |
operator TileIndex () const | |
Get the tile we are currently at. | |
TileIndex | operator* () const |
Get the tile we are currently at. | |
bool | operator== (const TileIterator &rhs) const |
Equality comparison. | |
bool | operator!= (const TileIterator &rhs) const |
Inequality comparison. | |
bool | operator== (const TileIndex &rhs) const |
Equality comparison. | |
bool | operator!= (const TileIndex &rhs) const |
Inequality comparison. | |
Private Attributes | |
int | w |
The width of the iterated area. | |
int | x |
The current 'x' position in the rectangle. | |
int | y |
The current 'y' position in the rectangle. | |
Additional Inherited Members | |
Static Public Member Functions inherited from TileIterator | |
static std::unique_ptr< TileIterator > | Create (TileIndex corner1, TileIndex corner2, bool diagonal) |
Create either an OrthogonalTileIterator or DiagonalTileIterator given the diagonal parameter. | |
Protected Member Functions inherited from TileIterator | |
TileIterator (TileIndex tile=INVALID_TILE) | |
Initialise the iterator starting at this tile. | |
Protected Attributes inherited from TileIterator | |
TileIndex | tile |
The current tile we are at. | |
Iterator to iterate over a tile area (rectangle) of the map.
Definition at line 182 of file tilearea_type.h.
|
inline |
Construct the iterator.
ta | Area, i.e. begin point and width/height of to-be-iterated area. |
Definition at line 193 of file tilearea_type.h.
Construct the iterator.
Definition at line 202 of file tilearea_type.h.
|
inlineoverridevirtual |
Allocate a new iterator that is a copy of this one.
Implements TileIterator.
Definition at line 225 of file tilearea_type.h.
|
inlineoverridevirtual |
Move ourselves to the next tile in the rectangle on the map.
Implements TileIterator.
Definition at line 210 of file tilearea_type.h.
References INVALID_TILE, TileIterator::tile, TileDiffXY(), and w.
|
private |
The width of the iterated area.
Definition at line 184 of file tilearea_type.h.
Referenced by operator++().
|
private |
The current 'x' position in the rectangle.
Definition at line 185 of file tilearea_type.h.
|
private |
The current 'y' position in the rectangle.
Definition at line 186 of file tilearea_type.h.