OpenTTD Source  20240919-master-gdf0233f4c2
BitmapTileArea Class Reference

Represents a tile area containing containing individually set tiles. More...

#include <bitmap_type.h>

Inheritance diagram for BitmapTileArea:
OrthogonalTileArea

Public Member Functions

 BitmapTileArea (const TileArea &ta)
 
void Reset ()
 Reset and clear the BitmapTileArea.
 
void Initialize (const Rect &r)
 Initialize the BitmapTileArea with the specified Rect. More...
 
void Initialize (const TileArea &ta)
 
void SetTile (TileIndex tile)
 Add a tile as part of the tile area. More...
 
void ClrTile (TileIndex tile)
 Clear a tile from the tile area. More...
 
bool HasTile (TileIndex tile) const
 Test if a tile is part of the tile area. More...
 
- Public Member Functions inherited from OrthogonalTileArea
 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...
 
OrthogonalTileAreaExpand (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...
 

Protected Member Functions

uint Index (uint x, uint y) const
 
uint Index (TileIndex tile) const
 

Protected Attributes

std::vector< bool > data
 

Additional Inherited Members

- Data Fields inherited from OrthogonalTileArea
TileIndex tile
 The base tile of the area.
 
uint16_t w
 The width of the area.
 
uint16_t h
 The height of the area.
 

Detailed Description

Represents a tile area containing containing individually set tiles.

Each tile must be contained within the preallocated area. A std::vector<bool> is used to mark which tiles are contained.

Definition at line 18 of file bitmap_type.h.

Member Function Documentation

◆ ClrTile()

void BitmapTileArea::ClrTile ( TileIndex  tile)
inline

Clear a tile from the tile area.

Parameters
tileTile to clear

Definition at line 89 of file bitmap_type.h.

References OrthogonalTileArea::Contains(), and OrthogonalTileArea::tile.

◆ HasTile()

bool BitmapTileArea::HasTile ( TileIndex  tile) const
inline

Test if a tile is part of the tile area.

Parameters
tileTile to check

Definition at line 99 of file bitmap_type.h.

References OrthogonalTileArea::Contains(), and OrthogonalTileArea::tile.

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

◆ Initialize()

void BitmapTileArea::Initialize ( const Rect r)
inline

Initialize the BitmapTileArea with the specified Rect.

Parameters
rectRect to use.

Definition at line 57 of file bitmap_type.h.

References OrthogonalTileArea::h, Rect::Height(), TileXY(), OrthogonalTileArea::w, and Rect::Width().

Referenced by Station::RecomputeCatchment().

◆ SetTile()

void BitmapTileArea::SetTile ( TileIndex  tile)
inline

Add a tile as part of the tile area.

Parameters
tileTile to add.

Definition at line 79 of file bitmap_type.h.

References OrthogonalTileArea::Contains(), and OrthogonalTileArea::tile.

Referenced by Station::RecomputeCatchment().


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