OpenTTD Source: CYapfReserveTrack< Types > Class Template Reference

OpenTTD Source 14.1

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
CYapfReserveTrack< Types > Class Template Reference
Inheritance diagram for CYapfReserveTrack< Types >:

## Public Types
typedef Types::Tpf | Tpf
| the pathfinder class (derived from THIS class)
typedef Types::TrackFollower | TrackFollower
typedef Types::NodeList::Titem | Node
| this will be our node type

## Public Member Functions
void | SetReservationTarget (Node *node, TileIndex tile, Trackdir td)
| Set the target to where the reservation should be extended.
void | FindSafePositionOnNode (Node *node)
| Check the node for a possible reservation target.
bool | TryReservePath (PBSTileInfo *target, TileIndex origin)
| Try to reserve the path till the reservation target.

## Protected Member Functions
Tpf & | Yapf ()
| to access inherited pathfinder

## Private Member Functions
bool | FindSafePositionProc (TileIndex tile, Trackdir td)
bool | ReserveRailStationPlatform (TileIndex &tile, DiagDirection dir)
| Reserve a railway platform. More...
bool | ReserveSingleTrack (TileIndex tile, Trackdir td)
| Try to reserve a single track/platform.
bool | UnreserveSingleTrack (TileIndex tile, Trackdir td)
| Unreserve a single track/platform. More...

## Private Attributes
TileIndex | m_res_dest
| The reservation target tile.
Trackdir | m_res_dest_td
| The reservation target trackdir.
Node * | m_res_node
| The reservation target node.
TileIndex | m_res_fail_tile
| The tile where the reservation failed.
Trackdir | m_res_fail_td
| The trackdir where the reservation failed.
TileIndex | m_origin_tile
| Tile our reservation will originate from.

## Detailed Description

### template<class Types>
class CYapfReserveTrack< Types >

Definition at line 38 of file yapf_rail.cpp.

## Member Function Documentation

## ◆ ReserveRailStationPlatform()

template<class Types >

bool CYapfReserveTrack< Types >::ReserveRailStationPlatform | ( | TileIndex & | tile,
|  | DiagDirection | dir
| ) |  |
| inlineprivate

Reserve a railway platform.

Tile contains the failed tile on abort.

Definition at line 71 of file yapf_rail.cpp.

References HasStationReservation(), IsCompatibleTrainStationTile(), CYapfReserveTrack< Types >::m_origin_tile, MarkTileDirtyByTile(), SetRailStationReservation(), SRT_PATH_RESERVATION, TILE_ADD, TileOffsByDiagDir(), and TriggerStationRandomisation().

Referenced by CYapfReserveTrack< Types >::ReserveSingleTrack().

## ◆ UnreserveSingleTrack()

template<class Types >

bool CYapfReserveTrack< Types >::UnreserveSingleTrack | ( | TileIndex | tile,
|  | Trackdir | td
| ) |  |
| inlineprivate

Unreserve a single track/platform.

Stops when the previous failer is reached.

Definition at line 110 of file yapf_rail.cpp.

References IsCompatibleTrainStationTile(), IsRailStationTile(), CYapfReserveTrack< Types >::m_res_dest, CYapfReserveTrack< Types >::m_res_dest_td, CYapfReserveTrack< Types >::m_res_fail_td, CYapfReserveTrack< Types >::m_res_fail_tile, ReverseTrackdir(), SetRailStationReservation(), TILE_ADD, TileOffsByDiagDir(), TrackdirToExitdir(), TrackdirToTrack(), and UnreserveRailTrack().

The documentation for this class was generated from the following file:

- src/pathfinder/yapf/yapf_rail.cpp