A simple matrix that stores one value per N*N square of the map. More...
#include <tilematrix_type.hpp>
Public Member Functions | |
const TileArea & | GetArea () const |
Get the total covered area. | |
void | Add (TileIndex tile) |
Extend the coverage area to include a tile. | |
T * | Get (TileIndex tile) |
Get the value associated to a tile index. | |
FORCEINLINE T & | operator[] (TileIndex tile) |
Array access operator, see Get. | |
Static Public Member Functions | |
static TileArea | GetAreaForTile (TileIndex tile, uint extend=0) |
Get the area of the matrix square that contains a specific tile. | |
Data Fields | |
TileArea | area |
Area covered by the matrix. | |
T * | data |
Pointer to data array. | |
Static Public Attributes | |
static const uint | GRID = N |
Private Member Functions | |
void | AllocateStorage (TileIndex tile) |
Allocates space for a new tile in the matrix. |
A simple matrix that stores one value per N*N square of the map.
Storage is only allocated for the part of the map that has values assigned.
T | The type of the stored items. | |
N | Grid size. |
Definition at line 29 of file tilematrix_type.hpp.
void TileMatrix< T, N >::Add | ( | TileIndex | tile | ) | [inline] |
Extend the coverage area to include a tile.
tile | The tile to include. |
Definition at line 116 of file tilematrix_type.hpp.
Referenced by TileMatrix< uint32, 4 >::Get().
void TileMatrix< T, N >::AllocateStorage | ( | TileIndex | tile | ) | [inline, private] |
Allocates space for a new tile in the matrix.
tile | Tile to add. |
Definition at line 34 of file tilematrix_type.hpp.
Referenced by TileMatrix< uint32, 4 >::Add().
T* TileMatrix< T, N >::Get | ( | TileIndex | tile | ) | [inline] |
Get the value associated to a tile index.
tile | The tile to get the value for. |
Definition at line 128 of file tilematrix_type.hpp.
Referenced by TileMatrix< uint32, 4 >::operator[]().
const TileArea& TileMatrix< T, N >::GetArea | ( | ) | const [inline] |
Get the total covered area.
Definition at line 83 of file tilematrix_type.hpp.
Referenced by UpdateTownCargos(), and UpdateTownCargoTotal().
static TileArea TileMatrix< T, N >::GetAreaForTile | ( | TileIndex | tile, | |
uint | extend = 0 | |||
) | [inline, static] |
Get the area of the matrix square that contains a specific tile.
The | tile to get the map area for. | |
extend | Extend the area by this many squares on all sides. |
Definition at line 94 of file tilematrix_type.hpp.
FORCEINLINE T& TileMatrix< T, N >::operator[] | ( | TileIndex | tile | ) | [inline] |
Array access operator, see Get.
Definition at line 140 of file tilematrix_type.hpp.