OpenTTD Source 20241224-master-gee860a5c8e
CYapfReserveTrack< Types > Class Template Reference
Inheritance diagram for CYapfReserveTrack< Types >:
CYapfFollowAnySafeTileRailT< Types > CYapfFollowRailT< Types >

Public Types

typedef Types::Tpf Tpf
 the pathfinder class (derived from THIS class)
 
typedef Types::TrackFollower TrackFollower
 
typedef Types::NodeList::Item 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

TpfYapf ()
 to access inherited pathfinder
 

Private Member Functions

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

Private Attributes

TileIndex res_dest_tile
 The reservation target tile.
 
Trackdir res_dest_td
 The reservation target trackdir.
 
Noderes_dest_node
 The reservation target node.
 
TileIndex res_fail_tile
 The tile where the reservation failed.
 
Trackdir res_fail_td
 The trackdir where the reservation failed.
 
TileIndex origin_tile
 Tile our reservation will originate from.
 
std::vector< std::pair< TileIndex, Trackdir > > signals_set_to_red
 List of signals turned red during a path reservation.
 

Detailed Description

template<class Types>
class CYapfReserveTrack< Types >

Definition at line 36 of file yapf_rail.cpp.

Member Typedef Documentation

◆ Node

template<class Types >
typedef Types::NodeList::Item CYapfReserveTrack< Types >::Node

this will be our node type

Definition at line 41 of file yapf_rail.cpp.

◆ Tpf

template<class Types >
typedef Types::Tpf CYapfReserveTrack< Types >::Tpf

the pathfinder class (derived from THIS class)

Definition at line 39 of file yapf_rail.cpp.

◆ TrackFollower

template<class Types >
typedef Types::TrackFollower CYapfReserveTrack< Types >::TrackFollower

Definition at line 40 of file yapf_rail.cpp.

Member Function Documentation

◆ FindSafePositionOnNode()

template<class Types >
void CYapfReserveTrack< Types >::FindSafePositionOnNode ( Node node)
inline

Check the node for a possible reservation target.

Definition at line 143 of file yapf_rail.cpp.

References CYapfReserveTrack< Types >::Yapf().

◆ FindSafePositionProc()

template<class Types >
bool CYapfReserveTrack< Types >::FindSafePositionProc ( TileIndex  tile,
Trackdir  td 
)
inlineprivate

Definition at line 60 of file yapf_rail.cpp.

◆ ReserveRailStationPlatform()

template<class Types >
bool CYapfReserveTrack< Types >::ReserveRailStationPlatform ( TileIndex tile,
DiagDirection  dir 
)
inlineprivate

◆ ReserveSingleTrack()

◆ SetReservationTarget()

template<class Types >
void CYapfReserveTrack< Types >::SetReservationTarget ( Node node,
TileIndex  tile,
Trackdir  td 
)
inline

Set the target to where the reservation should be extended.

Definition at line 135 of file yapf_rail.cpp.

◆ TryReservePath()

◆ UnreserveSingleTrack()

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

◆ Yapf()

template<class Types >
Tpf & CYapfReserveTrack< Types >::Yapf ( )
inlineprotected

to access inherited pathfinder

Definition at line 45 of file yapf_rail.cpp.

Referenced by CYapfReserveTrack< Types >::FindSafePositionOnNode(), and CYapfReserveTrack< Types >::TryReservePath().

Field Documentation

◆ origin_tile

template<class Types >
TileIndex CYapfReserveTrack< Types >::origin_tile
private

Tile our reservation will originate from.

Definition at line 56 of file yapf_rail.cpp.

◆ res_dest_node

template<class Types >
Node* CYapfReserveTrack< Types >::res_dest_node
private

The reservation target node.

Definition at line 53 of file yapf_rail.cpp.

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

◆ res_dest_td

template<class Types >
Trackdir CYapfReserveTrack< Types >::res_dest_td
private

The reservation target trackdir.

Definition at line 52 of file yapf_rail.cpp.

Referenced by CYapfReserveTrack< Types >::ReserveSingleTrack(), and CYapfReserveTrack< Types >::TryReservePath().

◆ res_dest_tile

template<class Types >
TileIndex CYapfReserveTrack< Types >::res_dest_tile
private

The reservation target tile.

Definition at line 51 of file yapf_rail.cpp.

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

◆ res_fail_td

template<class Types >
Trackdir CYapfReserveTrack< Types >::res_fail_td
private

The trackdir where the reservation failed.

Definition at line 55 of file yapf_rail.cpp.

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

◆ res_fail_tile

template<class Types >
TileIndex CYapfReserveTrack< Types >::res_fail_tile
private

The tile where the reservation failed.

Definition at line 54 of file yapf_rail.cpp.

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

◆ signals_set_to_red

template<class Types >
std::vector<std::pair<TileIndex, Trackdir> > CYapfReserveTrack< Types >::signals_set_to_red
private

List of signals turned red during a path reservation.

Definition at line 58 of file yapf_rail.cpp.

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


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