OpenTTD Source: CYapfFollowRailT< Types > Class Template Reference

OpenTTD Source 15.0-RC2

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
CYapfFollowRailT< Types > Class Template Reference
Inheritance diagram for 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
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
Tpf & | Yapf ()
| to access inherited path finder
Protected Member Functions inherited from CYapfReserveTrack< Types >
Tpf & | Yapf ()
| to access inherited pathfinder

## Detailed Description

template<class Types>
class CYapfFollowRailT< Types >

Definition at line 383 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 388 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 387 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 385 of file yapf_rail.cpp.

## ◆ TrackFollower

template<class Types >

typedef Types::TrackFollower CYapfFollowRailT< Types >::TrackFollower

Definition at line 386 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 507 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 439 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)

Definition at line 403 of file yapf_rail.cpp.

References CYapfFollowRailT< Types >::Yapf().

## ◆ stCheckReverseTrain()

template<class Types >

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

Definition at line 489 of file yapf_rail.cpp.

## ◆ stChooseRailTrack()

template<class Types >

static 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 417 of file yapf_rail.cpp.

## ◆ TransportTypeChar()

template<class Types >

char CYapfFollowRailT< Types >::TransportTypeChar | ( |  | ) | const
| inline

return debug report character to identify the transportation type

Definition at line 412 of file yapf_rail.cpp.

## ◆ Yapf()

template<class Types >

Tpf & CYapfFollowRailT< Types >::Yapf | ( |  | ) |
| inlineprotected

to access inherited path finder

Definition at line 392 of file yapf_rail.cpp.

Referenced by CYapfFollowRailT< Types >::PfFollowNode().

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

- src/pathfinder/yapf/yapf_rail.cpp