OpenTTD Source  20241108-master-g80f628063a
CYapfCostRailT< Types > Class Template Reference
Inheritance diagram for CYapfCostRailT< Types >:
CYapfCostBase

Data Structures

struct  TILE
 

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
 
typedef Node::Key Key
 key to hash tables
 
typedef Node::CachedData CachedData
 

Public Member Functions

int SlopeCost (TileIndex tile, Trackdir td)
 
int CurveCost (Trackdir td1, Trackdir td2)
 
int SwitchCost (TileIndex tile1, TileIndex tile2, DiagDirection exitdir)
 
int OneTileCost (TileIndex &tile, Trackdir trackdir)
 Return one tile cost (base cost + level crossing penalty).
 
bool IsAnyStationTileReserved (TileIndex tile, Trackdir trackdir, int skipped)
 Check for a reserved station platform.
 
int ReservationCost (Node &n, TileIndex tile, Trackdir trackdir, int skipped)
 The cost for reserved tiles, including skipped ones.
 
int SignalCost (Node &n, TileIndex tile, Trackdir trackdir)
 
int PlatformLengthPenalty (int platform_length)
 
void SetMaxCost (int max_cost)
 
bool PfCalcCost (Node &n, const TrackFollower *tf)
 Called by YAPF to calculate the cost from the origin to the given node. More...
 
bool CanUseGlobalCache (Node &n) const
 
void ConnectNodeToCachedData (Node &n, CachedData &ci)
 
void DisableCache (bool disable)
 

Data Fields

bool stopped_on_first_two_way_signal
 

Protected Member Functions

TpfYapf ()
 to access inherited path finder
 

Protected Attributes

int max_cost
 
bool disable_cache
 
std::vector< int > sig_look_ahead_costs
 

Static Protected Attributes

static constexpr int MAX_SEGMENT_COST = 10000
 

Additional Inherited Members

- Static Public Member Functions inherited from CYapfCostBase
static bool stSlopeCost (TileIndex tile, Trackdir td)
 Does the given track direction on the given tile yield an uphill penalty? More...
 

Detailed Description

template<class Types>
class CYapfCostRailT< Types >

Definition at line 21 of file yapf_costrail.hpp.

Member Function Documentation

◆ PfCalcCost()

template<class Types >
bool CYapfCostRailT< Types >::PfCalcCost ( Node n,
const TrackFollower *  tf 
)
inline

Called by YAPF to calculate the cost from the origin to the given node.

Calculates only the cost of given node, adds it to the parent node cost and stores the result into Node::m_cost member

Definition at line 261 of file yapf_costrail.hpp.

References HasTrackdir(), and CYapfCostRailT< Types >::Yapf().

Field Documentation

◆ max_cost

template<class Types >
int CYapfCostRailT< Types >::max_cost
protected
Note
maximum cost doesn't work with caching enabled
Todo:
fix maximum cost failing with caching (e.g. FS#2900)

Definition at line 48 of file yapf_costrail.hpp.


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