OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Types | Public Member Functions | Static Public Member Functions
StationRect Struct Reference

StationRect - used to track station spread out rectangle - cheaper than scanning whole map. More...

`#include <base_station_base.h>`

Inheritance diagram for StationRect:

## 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
Data Fields inherited from Rect
int | left
int | top
int | right
int | bottom

## Detailed Description

StationRect - used to track station spread out rectangle - cheaper than scanning whole map.

Definition at line 31 of file base_station_base.h.

## Member Function Documentation

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.

Note
  x and y are in Tile coordinates

Parameters

  x | X coordinate
  y | Y coordinate
  distance | The maximum distance a point may have (L1 norm)

Returns
  true if the point is within distance tiles of the station rectangle

Definition at line 409 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.

Parameters

  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)

Returns
  `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().

The documentation for this struct was generated from the following files:

- src/base_station_base.h
- src/station.cpp