OpenTTD Source
20241124-master-g9399a92a4f
|
Represents the covered area of e.g. More...
#include <tilearea_type.h>
Public Member Functions | |
OrthogonalTileArea (TileIndex tile=INVALID_TILE, uint16_t w=0, uint16_t h=0) | |
Construct this tile area with some set values. More... | |
OrthogonalTileArea (TileIndex start, TileIndex end) | |
Construct this tile area based on two points. More... | |
void | Add (TileIndex to_add) |
Add a single tile to a tile area; enlarge if needed. More... | |
void | Clear () |
Clears the 'tile area', i.e. More... | |
bool | Intersects (const OrthogonalTileArea &ta) const |
Does this tile area intersect with another? More... | |
bool | Contains (TileIndex tile) const |
Does this tile area contain a tile? More... | |
OrthogonalTileArea & | Expand (int rad) |
Expand a tile area by rad tiles in each direction, keeping within map bounds. More... | |
void | ClampToMap () |
Clamp the tile area to map borders. | |
TileIndex | GetCenterTile () const |
Get the center tile. More... | |
OrthogonalTileIterator | begin () const |
Returns an iterator to the beginning of the tile area. More... | |
OrthogonalTileIterator | end () const |
Returns an iterator to the end of the tile area. More... | |
Data Fields | |
TileIndex | tile |
The base tile of the area. | |
uint16_t | w |
The width of the area. | |
uint16_t | h |
The height of the area. | |
|
inline |
Construct this tile area with some set values.
tile | the base tile |
w | the width |
h | the height |
Definition at line 29 of file tilearea_type.h.
Referenced by end().
void OrthogonalTileArea::Add | ( | TileIndex | to_add | ) |
Add a single tile to a tile area; enlarge if needed.
to_add | The tile to add |
Definition at line 43 of file tilearea.cpp.
References h, INVALID_TILE, tile, TileX(), TileXY(), TileY(), and w.
Referenced by CheckForDockingTile().
OrthogonalTileIterator OrthogonalTileArea::begin | ( | ) | const |
Returns an iterator to the beginning of the tile area.
Definition at line 153 of file tilearea.cpp.
|
inline |
Clears the 'tile area', i.e.
make the tile invalid.
Definition at line 40 of file tilearea_type.h.
References INVALID_TILE.
bool OrthogonalTileArea::Contains | ( | TileIndex | tile | ) | const |
Does this tile area contain a tile?
tile | Tile to test for. |
Definition at line 104 of file tilearea.cpp.
References h, IsInsideBS(), tile, TileX(), TileY(), and w.
Referenced by BitmapTileArea::ClrTile(), WaterRegion::GetLabel(), WaterRegion::GetLocalIndex(), BitmapTileArea::HasTile(), and BitmapTileArea::SetTile().
OrthogonalTileIterator OrthogonalTileArea::end | ( | ) | const |
Returns an iterator to the end of the tile area.
Definition at line 162 of file tilearea.cpp.
References OrthogonalTileArea().
Referenced by OrthogonalTileArea().
OrthogonalTileArea & OrthogonalTileArea::Expand | ( | int | rad | ) |
Expand a tile area by rad tiles in each direction, keeping within map bounds.
rad | Number of tiles to expand |
Definition at line 123 of file tilearea.cpp.
Referenced by FindSubsidyCargoDestination(), FindSubsidyTownCargoRoute(), ForAllStationsAroundTiles(), GetAcceptanceAroundTiles(), GetProductionAroundTiles(), and Station::RecomputeCatchment().
|
inline |
Get the center tile.
Definition at line 59 of file tilearea_type.h.
References TileAddXY().
bool OrthogonalTileArea::Intersects | ( | const OrthogonalTileArea & | ta | ) | const |