OpenTTD
|
StationRect - used to track station spread out rectangle - cheaper than scanning whole map. More...
#include <base_station_base.h>
Public Types | |
enum | StationRectMode { ADD_TEST = 0, ADD_TRY, ADD_FORCE } |
Public Member Functions | |
void | MakeEmpty () |
bool | PtInExtendedRect (int x, int y, int distance=0) const |
Determines whether a given point (x, y) is within a certain distance of the station rectangle. | |
bool | IsEmpty () const |
CommandCost | BeforeAddTile (TileIndex tile, StationRectMode mode) |
CommandCost | BeforeAddRect (TileIndex tile, int w, int h, StationRectMode mode) |
bool | AfterRemoveTile (BaseStation *st, TileIndex tile) |
bool | AfterRemoveRect (BaseStation *st, TileArea ta) |
StationRect & | operator= (const Rect &src) |
Static Public Member Functions | |
static bool | ScanForStationTiles (StationID st_id, int left_a, int top_a, int right_a, int bottom_a) |
Check whether station tiles of the given station id exist in the given rectangle. |
Additional Inherited Members | |
![]() | |
int | left |
int | top |
int | right |
int | bottom |
StationRect - used to track station spread out rectangle - cheaper than scanning whole map.
Definition at line 31 of file base_station_base.h.
bool StationRect::PtInExtendedRect | ( | int | x, |
int | y, | ||
int | distance = 0 |
||
) | const |
Determines whether a given point (x, y) is within a certain distance of the station rectangle.
x | X coordinate |
y | Y coordinate |
distance | The maximum distance a point may have (L1 norm) |
Definition at line 409 of file station.cpp.
|
static |
Check whether station tiles of the given station id exist in the given rectangle.
st_id | Station ID to look for in the rectangle |
left_a | Minimal tile X edge of the rectangle |
top_a | Minimal tile Y edge of the rectangle |
right_a | Maximal tile X edge of the rectangle (inclusive) |
bottom_a | Maximal tile Y edge of the rectangle (inclusive) |
true
if a station tile with the given st_id exists in the rectangle, false
otherwise Definition at line 474 of file station.cpp.
References GetStationIndex(), IsTileType(), MP_STATION, TILE_AREA_LOOP, and TileXY().