#include <ai_map.hpp>
Static Public Member Functions | |
static const char * | GetClassName () |
static bool | IsValidTile (TileIndex tile) |
Checks whether the given tile is valid. | |
static TileIndex | GetMapSize () |
Gets the number of tiles in the map. | |
static uint32 | GetMapSizeX () |
Gets the amount of tiles along the SW and NE border. | |
static uint32 | GetMapSizeY () |
Gets the amount of tiles along the SE and NW border. | |
static int32 | GetTileX (TileIndex tile) |
Gets the place along the SW/NE border (X-value). | |
static int32 | GetTileY (TileIndex tile) |
Gets the place along the SE/NW border (Y-value). | |
static TileIndex | GetTileIndex (uint32 x, uint32 y) |
Gets the TileIndex given a x,y-coordinate. | |
static int32 | DistanceManhattan (TileIndex tile_from, TileIndex tile_to) |
Calculates the Manhattan distance; the difference of the X and Y added together. | |
static int32 | DistanceMax (TileIndex tile_from, TileIndex tile_to) |
Calculates the distance between two tiles via 1D calculation. | |
static int32 | DistanceSquare (TileIndex tile_from, TileIndex tile_to) |
The squared distance between the two tiles. | |
static int32 | DistanceFromEdge (TileIndex tile) |
Calculates the shortest distance to the edge. | |
Static Public Attributes | |
static const int | TILE_INVALID = (int)INVALID_TILE |
Invalid TileIndex. |
Definition at line 21 of file ai_map.hpp.
bool AIMap::IsValidTile | ( | TileIndex | tile | ) | [static] |
Checks whether the given tile is valid.
tile | The tile to check. |
Definition at line 15 of file ai_map.cpp.
References IsValidTile().
Referenced by AIVehicleList_Depot::AIVehicleList_Depot(), AIIndustryType::BuildIndustry(), DistanceFromEdge(), DistanceManhattan(), DistanceMax(), DistanceSquare(), GetTileX(), GetTileY(), and AIRoad::HasRoadType().
TileIndex AIMap::GetMapSize | ( | ) | [static] |
Gets the number of tiles in the map.
Definition at line 20 of file ai_map.cpp.
References MapSize().
uint32 AIMap::GetMapSizeX | ( | ) | [static] |
Gets the amount of tiles along the SW and NE border.
Definition at line 25 of file ai_map.cpp.
References MapSizeX().
uint32 AIMap::GetMapSizeY | ( | ) | [static] |
Gets the amount of tiles along the SE and NW border.
Definition at line 30 of file ai_map.cpp.
References MapSizeY().
int32 AIMap::GetTileX | ( | TileIndex | tile | ) | [static] |
Gets the place along the SW/NE border (X-value).
tile | The tile to get the X-value of. |
Definition at line 35 of file ai_map.cpp.
References IsValidTile(), and TileX().
Referenced by AITile::IsBuildableRectangle().
int32 AIMap::GetTileY | ( | TileIndex | tile | ) | [static] |
Gets the place along the SE/NW border (Y-value).
tile | The tile to get the Y-value of. |
Definition at line 41 of file ai_map.cpp.
References IsValidTile(), and TileY().
Referenced by AITile::IsBuildableRectangle().
TileIndex AIMap::GetTileIndex | ( | uint32 | x, | |
uint32 | y | |||
) | [static] |
Gets the TileIndex given a x,y-coordinate.
x | The X coordinate. | |
y | The Y coordinate. |
y < GetMapSizeY().
Definition at line 47 of file ai_map.cpp.
References TileXY().
Referenced by AITile::IsBuildableRectangle().
Calculates the Manhattan distance; the difference of the X and Y added together.
tile_from | The start tile. | |
tile_to | The destination tile. |
IsValidTile(tile_to).
Definition at line 52 of file ai_map.cpp.
References DistanceManhattan(), and IsValidTile().
Referenced by AIRail::AreTilesConnected(), AIRail::BuildSignal(), AITown::GetDistanceManhattanToTile(), AITile::GetDistanceManhattanToTile(), AIStation::GetDistanceManhattanToTile(), AIIndustry::GetDistanceManhattanToTile(), AIRail::GetSignalType(), and AIRail::RemoveSignal().
Calculates the distance between two tiles via 1D calculation.
This means the distance between X or the distance between Y, depending on which one is bigger.
tile_from | The start tile. | |
tile_to | The destination tile. |
IsValidTile(tile_to).
Definition at line 58 of file ai_map.cpp.
References DistanceMax(), and IsValidTile().
The squared distance between the two tiles.
This is the distance is the length of the shortest straight line between both points.
tile_from | The start tile. | |
tile_to | The destination tile. |
IsValidTile(tile_to).
Definition at line 64 of file ai_map.cpp.
References DistanceSquare(), and IsValidTile().
Referenced by AITown::GetDistanceSquareToTile(), AITile::GetDistanceSquareToTile(), AIStation::GetDistanceSquareToTile(), and AIIndustry::GetDistanceSquareToTile().
int32 AIMap::DistanceFromEdge | ( | TileIndex | tile | ) | [static] |
Calculates the shortest distance to the edge.
tile | From where the distance has to be calculated. |
Definition at line 70 of file ai_map.cpp.
References DistanceFromEdge(), and IsValidTile().