# StationRect Struct Reference

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

`#include <station.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
bool | BeforeAddTile (TileIndex tile, StationRectMode mode)
bool | BeforeAddRect (TileIndex tile, int w, int h, StationRectMode mode)
bool | AfterRemoveTile (Station *st, TileIndex tile)
bool | AfterRemoveRect (Station *st, TileIndex tile, int w, int h)
StationRect & | operator= (Rect src)
## Static Public Member Functions
static bool | ScanForStationTiles (StationID st_id, int left_a, int top_a, int right_a, int bottom_a)

## Detailed Description

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

Definition at line 95 of file station.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 maxmium distance a point may have (L1 norm)

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

Definition at line 270 of file station.cpp.

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

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