Station Struct Reference

Station data structure. More...

#include <station_base.h>

Inheritance diagram for Station:
SpecializedStation< Station, false > BaseStation Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_station_pool >

Public Member Functions

RoadStopGetPrimaryRoadStop (RoadStopType type) const
RoadStopGetPrimaryRoadStop (const struct RoadVehicle *v) const
const AirportFTAClassAirport () const
const AirportSpecGetAirportSpec () const
 Station (TileIndex tile=INVALID_TILE)
 ~Station ()
 Clean up a station by clearing vehicle orders and invalidating windows.
void AddFacility (StationFacility new_facility_bit, TileIndex facil_xy)
 Called when new facility is built on the station.
void MarkTilesDirty (bool cargo_change) const
 Marks the tiles of the station as dirty.
void UpdateVirtCoord ()
 Update the virtual coords needed to draw the station sign.
uint GetPlatformLength (TileIndex tile, DiagDirection dir) const
 Determines the REMAINING length of a platform, starting at (and including) the given tile.
uint GetPlatformLength (TileIndex tile) const
 Obtain the length of a platform.
void RecomputeIndustriesNear ()
 Recomputes Station::industries_near, list of industries possibly accepting cargo in station's catchment radius.
uint GetCatchmentRadius () const
 Determines the catchment radius of the station.
Rect GetCatchmentRect () const
 Determines catchment rectangle of this station.
FORCEINLINE bool TileBelongsToRailStation (TileIndex tile) const
 Check whether a specific tile belongs to this station.
FORCEINLINE bool TileBelongsToAirport (TileIndex tile) const
FORCEINLINE TileIndex GetHangarTile (uint hangar_num) const
uint32 GetNewGRFVariable (const ResolverObject *object, byte variable, byte parameter, bool *available) const
void GetTileArea (TileArea *ta, StationType type) const
 Get the tile area for a given station type.

Static Public Member Functions

static void RecomputeIndustriesNearForAll ()
 Recomputes Station::industries_near for all stations.

Data Fields

RoadStopbus_stops
 All the road stops.
TileArea bus_station
 Tile area the bus 'station' part covers.
RoadStoptruck_stops
 All the truck stops.
TileArea truck_station
 Tile area the truck 'station' part covers.
TileIndex airport_tile
 The location of the airport.
TileIndex dock_tile
 The location of the dock.
IndustryType indtype
 Industry type to get the name from.
StationHadVehicleOfTypeByte had_vehicle_of_type
byte time_since_load
byte time_since_unload
byte airport_type
uint64 airport_flags
 stores which blocks on the airport are taken. was 16 bit earlier on, then 32
byte last_vehicle_type
std::list< Vehicle * > loading_vehicles
GoodsEntry goods [NUM_CARGO]
 Goods at this station.
uint32 always_accepted
 Bitmask of always accepted cargo types (by houses, HQs, industry tiles when industry doesn't accept cargo).
IndustryVector industries_near
 Cached list of industries near the station that can accept cargo,.

Detailed Description

Station data structure.

Definition at line 51 of file station_base.h.


Constructor & Destructor Documentation

Station::~Station (  ) 

Member Function Documentation

void Station::AddFacility ( StationFacility  new_facility_bit,
TileIndex  facil_xy 
)

Called when new facility is built on the station.

If it is the first facility it initializes also 'xy' and 'random_bits' members

Definition at line 143 of file station.cpp.

References _date, BaseStation::build_date, FACIL_NONE, BaseStation::facilities, BaseStation::owner, BaseStation::random_bits, and BaseStation::xy.

Referenced by CmdBuildAirport(), CmdBuildDock(), CmdBuildRailStation(), and CmdBuildRoadStop().

uint Station::GetCatchmentRadius (  )  const
Rect Station::GetCatchmentRect (  )  const

Determines catchment rectangle of this station.

Returns:
clamped catchment rectangle

Definition at line 244 of file station.cpp.

References GetCatchmentRadius(), MapMaxX(), MapMaxY(), and BaseStation::rect.

Referenced by CheckSubsidised(), and RecomputeIndustriesNear().

uint Station::GetPlatformLength ( TileIndex  tile  )  const [virtual]

Obtain the length of a platform.

Precondition:
tile must be a rail station tile
Parameters:
tile A tile that contains the platform in question
Returns:
The length of the platform

Implements BaseStation.

Definition at line 181 of file station.cpp.

References AXIS_X, GetRailStationAxis(), IsCompatibleTrainStationTile(), TileBelongsToRailStation(), and TileDiffXY().

uint Station::GetPlatformLength ( TileIndex  tile,
DiagDirection  dir 
) const [virtual]

Determines the REMAINING length of a platform, starting at (and including) the given tile.

Parameters:
tile the tile from which to start searching. Must be a rail station tile
dir The direction in which to search.
Returns:
The platform length

Implements BaseStation.

Definition at line 203 of file station.cpp.

References DIAGDIR_END, IsCompatibleTrainStationTile(), IsRailStationTile(), and TileOffsByDiagDir().

Referenced by GetTrainStopLocation(), LoadUnloadVehicle(), and NPFSaveTargetData().

void Station::GetTileArea ( TileArea ta,
StationType  type 
) const [virtual]

Get the tile area for a given station type.

Parameters:
ta tile area to fill.
type the type of the area

Implements BaseStation.

Definition at line 377 of file station_cmd.cpp.

References airport_tile, bus_station, dock_tile, TileArea::h, AirportSpec::size_x, AirportSpec::size_y, TileArea::tile, BaseStation::train_station, truck_station, and TileArea::w.

FORCEINLINE bool Station::TileBelongsToRailStation ( TileIndex  tile  )  const [inline, virtual]

Check whether a specific tile belongs to this station.

Parameters:
tile the tile to check
Returns:
true if the tile belongs to this station

Implements BaseStation.

Definition at line 119 of file station_base.h.

References GetStationIndex(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_station_pool >::index, and IsRailStationTile().

Referenced by FloodVehicles(), AIOrder::GetOrderDestination(), GetPlatformLength(), and MarkTilesDirty().


Field Documentation

Cached list of industries near the station that can accept cargo,.

See also:
DeliverGoodsToIndustry()

Definition at line 95 of file station_base.h.

Referenced by CheckSubsidised(), DeliverGoodsToIndustry(), and RecomputeIndustriesNear().


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

Generated on Sun Nov 14 14:43:08 2010 for OpenTTD by  doxygen 1.6.1