OpenTTD Source 20260421-master-gc2fbc6fdeb
CYapfFollowRailT< Types > Class Template Reference
Inheritance diagram for CYapfFollowRailT< Types >:
CYapfReserveTrack< 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
typedef Node::Key Key
 key to hash tables
Public Types inherited from CYapfReserveTrack< 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 PfFollowNode (Node &old_node)
 Called by YAPF to move from the given node to the next tile.
char TransportTypeChar () const
 Return debug report character to identify the transportation type.
Trackdir ChooseRailTrack (const Train *v, TileIndex, DiagDirection, TrackBits, bool &path_found, bool reserve_track, PBSTileInfo *target, TileIndex *dest)
bool CheckReverseTrain (const Train *v, TileIndex t1, Trackdir td1, TileIndex t2, Trackdir td2, int reverse_penalty)
Public Member Functions inherited from CYapfReserveTrack< Types >
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.

Static Public Member Functions

static Trackdir stChooseRailTrack (const Train *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found, bool reserve_track, PBSTileInfo *target, TileIndex *dest)
static bool stCheckReverseTrain (const Train *v, TileIndex t1, Trackdir td1, TileIndex t2, Trackdir td2, int reverse_penalty)

Protected Member Functions

TpfYapf ()
 Access the inherited path finder.
Protected Member Functions inherited from CYapfReserveTrack< Types >
TpfYapf ()
 Access the inherited path finder.

Detailed Description

template<class Types>
class CYapfFollowRailT< Types >

Definition at line 403 of file yapf_rail.cpp.

Member Typedef Documentation

◆ Key

template<class Types>
typedef Node::Key CYapfFollowRailT< Types >::Key

key to hash tables

Definition at line 408 of file yapf_rail.cpp.

◆ Node

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

this will be our node type

Definition at line 407 of file yapf_rail.cpp.

◆ Tpf

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

the pathfinder class (derived from THIS class)

Definition at line 405 of file yapf_rail.cpp.

◆ TrackFollower

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

Definition at line 406 of file yapf_rail.cpp.

Member Function Documentation

◆ CheckReverseTrain()

template<class Types>
bool CYapfFollowRailT< Types >::CheckReverseTrain ( const Train * v,
TileIndex t1,
Trackdir td1,
TileIndex t2,
Trackdir td2,
int reverse_penalty )
inline

Definition at line 523 of file yapf_rail.cpp.

◆ ChooseRailTrack()

template<class Types>
Trackdir CYapfFollowRailT< Types >::ChooseRailTrack ( const Train * v,
TileIndex ,
DiagDirection ,
TrackBits ,
bool & path_found,
bool reserve_track,
PBSTileInfo * target,
TileIndex * dest )
inline

Definition at line 455 of file yapf_rail.cpp.

◆ PfFollowNode()

template<class Types>
void CYapfFollowRailT< Types >::PfFollowNode ( Node & old_node)
inline

Called by YAPF to move from the given node to the next tile.

For each reachable trackdir on the new tile creates new node, initializes it and adds it to the open list by calling Yapf().AddNewNode(n).

Parameters
old_nodeThe node to follow from.

Definition at line 419 of file yapf_rail.cpp.

References Yapf().

◆ stCheckReverseTrain()

template<class Types>
bool CYapfFollowRailT< Types >::stCheckReverseTrain ( const Train * v,
TileIndex t1,
Trackdir td1,
TileIndex t2,
Trackdir td2,
int reverse_penalty )
inlinestatic

Definition at line 505 of file yapf_rail.cpp.

◆ stChooseRailTrack()

template<class Types>
Trackdir CYapfFollowRailT< Types >::stChooseRailTrack ( const Train * v,
TileIndex tile,
DiagDirection enterdir,
TrackBits tracks,
bool & path_found,
bool reserve_track,
PBSTileInfo * target,
TileIndex * dest )
inlinestatic

Definition at line 433 of file yapf_rail.cpp.

◆ TransportTypeChar()

template<class Types>
char CYapfFollowRailT< Types >::TransportTypeChar ( ) const
inline

Return debug report character to identify the transportation type.

Returns
The debug representation

Definition at line 428 of file yapf_rail.cpp.

◆ Yapf()

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

Access the inherited path finder.

Returns
The current path finder.

Definition at line 412 of file yapf_rail.cpp.

Referenced by PfFollowNode().


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