OpenTTD
Public Member Functions | Data Fields
Waypoint Struct Reference

Representation of a waypoint. More...

#include <waypoint_base.h>

Inheritance diagram for Waypoint:
SpecializedStation< Waypoint, true > BaseStation Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >

Public Member Functions

 Waypoint (TileIndex tile=INVALID_TILE)
 Create a waypoint at the given tile.
void UpdateVirtCoord ()
 Update the virtual coords needed to draw the waypoint sign.
bool TileBelongsToRailStation (TileIndex tile) const
 Check whether a specific tile belongs to this station.
uint32 GetNewGRFVariable (const struct ResolverObject &object, byte variable, byte parameter, bool *available) const
 Helper function to get a NewGRF variable that isn't implemented by the base class.
void GetTileArea (TileArea *ta, StationType type) const
 Get the tile area for a given station type.
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.
bool IsSingleTile () const
 Is this a single tile waypoint?
bool IsOfType (const Waypoint *wp) const
 Is the "type" of waypoint the same as the given waypoint, i.e.
- Public Member Functions inherited from SpecializedStation< Waypoint, true >
 SpecializedStation (TileIndex tile)
 Set station type correctly.
- Public Member Functions inherited from BaseStation
 BaseStation (TileIndex tile)
 Initialize the base station.
bool IsInUse () const
 Check whether the base station currently is in use; in use means that it is not scheduled for deletion and that it still has some facilities left.
- Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >
void * operator new (size_t size)
 Allocates space for new Titem.
void * operator new (size_t size, size_t index)
 Allocates space for new Titem with given index.
void * operator new (size_t size, void *ptr)
 Allocates space for new Titem at given memory address.
void operator delete (void *p)
 Marks Titem as free.

Data Fields

uint16 town_cn
 The N-1th waypoint for this town (consecutive number)

Additional Inherited Members

- Static Public Member Functions inherited from SpecializedStation< Waypoint, true >
static bool IsExpected (const BaseStation *st)
 Helper for checking whether the given station is of this type.
static bool IsValidID (size_t index)
 Tests whether given index is a valid index for station of this type.
static WaypointGet (size_t index)
 Gets station with given index.
static WaypointGetIfValid (size_t index)
 Returns station if the index is a valid index for this station type.
static WaypointGetByTile (TileIndex tile)
 Get the station belonging to a specific tile.
static WaypointFrom (BaseStation *st)
 Converts a BaseStation to SpecializedStation with type checking.
static const WaypointFrom (const BaseStation *st)
 Converts a const BaseStation to const SpecializedStation with type checking.
- Static Public Attributes inherited from SpecializedStation< Waypoint, true >
static const StationFacility EXPECTED_FACIL
 Specialized type.

Detailed Description

Representation of a waypoint.

Definition at line 18 of file waypoint_base.h.

Constructor & Destructor Documentation

Waypoint::Waypoint ( TileIndex  tile = INVALID_TILE)
inline

Create a waypoint at the given tile.

Parameters
tileThe location of the waypoint.

Definition at line 25 of file waypoint_base.h.

Member Function Documentation

uint32 Waypoint::GetNewGRFVariable ( const struct ResolverObject object,
byte  variable,
byte  parameter,
bool *  available 
) const
virtual

Helper function to get a NewGRF variable that isn't implemented by the base class.

Parameters
objectthe resolver object related to this query
variablethat is queried
parameterparameter for that variable
availablewill return false if ever the variable asked for does not exist
Returns
the value stored in the corresponding variable

Implements BaseStation.

Definition at line 462 of file newgrf_station.cpp.

References DEBUG, GB(), and HVOT_WAYPOINT.

uint Waypoint::GetPlatformLength ( TileIndex  tile,
DiagDirection  dir 
) const
inlinevirtual

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

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

Implements BaseStation.

Definition at line 39 of file waypoint_base.h.

uint Waypoint::GetPlatformLength ( TileIndex  tile) const
inlinevirtual

Obtain the length of a platform.

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

Implements BaseStation.

Definition at line 44 of file waypoint_base.h.

void Waypoint::GetTileArea ( TileArea ta,
StationType  type 
) const
virtual

Get the tile area for a given station type.

Parameters
tatile area to fill.
typethe type of the area

Implements BaseStation.

Definition at line 35 of file waypoint.cpp.

References OrthogonalTileArea::h, OrthogonalTileArea::tile, BaseStation::train_station, OrthogonalTileArea::w, and BaseStation::xy.

bool Waypoint::IsOfType ( const Waypoint wp) const
inline

Is the "type" of waypoint the same as the given waypoint, i.e.

are both a rail waypoint or are both a buoy?

Parameters
wpThe waypoint to compare to.
Returns
true iff their types are equal.

Definition at line 64 of file waypoint_base.h.

References BaseStation::string_id.

bool Waypoint::IsSingleTile ( ) const
inline

Is this a single tile waypoint?

Returns
true if it is.

Definition at line 53 of file waypoint_base.h.

References FACIL_TRAIN, BaseStation::facilities, OrthogonalTileArea::h, BaseStation::train_station, and OrthogonalTileArea::w.

bool Waypoint::TileBelongsToRailStation ( TileIndex  tile) const
inlinevirtual

Check whether a specific tile belongs to this station.

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

Implements BaseStation.

Definition at line 30 of file waypoint_base.h.

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


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