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. | |
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 maxmium distance a point may have (L1 norm) |
Definition at line 374 of file station.cpp.
| bool StationRect::ScanForStationTiles | ( | StationID | st_id, | |
| int | left_a, | |||
| int | top_a, | |||
| int | right_a, | |||
| int | bottom_a | |||
| ) | [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 439 of file station.cpp.
References GetStationIndex(), IsTileType(), MP_STATION, TILE_AREA_LOOP, and TileXY().
1.7.1