OpenTTD Source 20260206-master-g4d4e37dbf1
OrthogonalTileIterator Class Reference

Iterator to iterate over a tile area (rectangle) of the map. More...

#include <tilearea_type.h>

Inheritance diagram for OrthogonalTileIterator:
TileIterator AirportTileIterator BitmapTileIterator

Public Member Functions

 OrthogonalTileIterator (const OrthogonalTileArea &ta)
 Construct the iterator.
 OrthogonalTileIterator (TileIndex corner1, TileIndex corner2)
 Construct the iterator.
TileIteratoroperator++ () override
 Move ourselves to the next tile in the rectangle on the map.
std::unique_ptr< TileIteratorClone () 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 TileIndex &rhs) const
 Equality 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< TileIteratorCreate (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.

Detailed Description

Iterator to iterate over a tile area (rectangle) of the map.

Definition at line 168 of file tilearea_type.h.

Constructor & Destructor Documentation

◆ OrthogonalTileIterator() [1/2]

OrthogonalTileIterator::OrthogonalTileIterator ( const OrthogonalTileArea & ta)
inline

Construct the iterator.

Parameters
taArea, i.e. begin point and width/height of to-be-iterated area.

Definition at line 179 of file tilearea_type.h.

References INVALID_TILE, TileIterator::tile, TileIterator::TileIterator(), w, x, and y.

Referenced by AirportTileIterator::AirportTileIterator(), BitmapTileIterator::BitmapTileIterator(), and OrthogonalTileIterator().

◆ OrthogonalTileIterator() [2/2]

OrthogonalTileIterator::OrthogonalTileIterator ( TileIndex corner1,
TileIndex corner2 )
inline

Construct the iterator.

Parameters
corner1Tile from where to begin iterating.
corner2Tile where to end the iterating.

Definition at line 188 of file tilearea_type.h.

References OrthogonalTileIterator().

Member Function Documentation

◆ Clone()

std::unique_ptr< TileIterator > OrthogonalTileIterator::Clone ( ) const
inlineoverridevirtual

Allocate a new iterator that is a copy of this one.

Implements TileIterator.

Definition at line 211 of file tilearea_type.h.

◆ operator++()

TileIterator & OrthogonalTileIterator::operator++ ( )
inlineoverridevirtual

Move ourselves to the next tile in the rectangle on the map.

Implements TileIterator.

Definition at line 196 of file tilearea_type.h.

References INVALID_TILE, TileIterator::tile, TileDiffXY(), and TileIterator::TileIterator().

Referenced by AirportTileIterator::operator++(), and BitmapTileIterator::operator++().

Field Documentation

◆ w

int OrthogonalTileIterator::w
private

The width of the iterated area.

Definition at line 170 of file tilearea_type.h.

Referenced by OrthogonalTileIterator().

◆ x

int OrthogonalTileIterator::x
private

The current 'x' position in the rectangle.

Definition at line 171 of file tilearea_type.h.

Referenced by OrthogonalTileIterator().

◆ y

int OrthogonalTileIterator::y
private

The current 'y' position in the rectangle.

Definition at line 172 of file tilearea_type.h.

Referenced by OrthogonalTileIterator().


The documentation for this class was generated from the following file: