OpenTTD Source  20240919-master-gdf0233f4c2
CYapfDestinationTileOrStationRailT< Types > Class Template Reference
Inheritance diagram for CYapfDestinationTileOrStationRailT< Types >:
CYapfDestinationRailBase

Public Types

typedef Types::Tpf Tpf
 the pathfinder class (derived from THIS class)
 
typedef Types::NodeList::Titem Node
 this will be our node type
 
typedef Node::Key Key
 key to hash tables
 

Public Member Functions

void SetDestination (const Train *v)
 
bool PfDetectDestination (Node &n)
 Called by YAPF to detect if node ends in the desired destination.
 
bool PfDetectDestination (TileIndex tile, Trackdir td)
 Called by YAPF to detect if node ends in the desired destination.
 
bool PfCalcEstimate (Node &n)
 Called by YAPF to calculate cost estimate. More...
 
- Public Member Functions inherited from CYapfDestinationRailBase
void SetDestination (const Train *v, bool override_rail_type=false)
 
bool IsCompatibleRailType (RailType rt)
 
RailTypes GetCompatibleRailTypes () const
 

Protected Member Functions

TpfYapf ()
 to access inherited path finder
 

Protected Attributes

TileIndex m_destTile
 
TrackdirBits m_destTrackdirs
 
StationID m_dest_station_id
 
bool m_any_depot
 
- Protected Attributes inherited from CYapfDestinationRailBase
RailTypes m_compatible_railtypes
 

Detailed Description

template<class Types>
class CYapfDestinationTileOrStationRailT< Types >

Definition at line 111 of file yapf_destrail.hpp.

Member Function Documentation

◆ PfCalcEstimate()

template<class Types >
bool CYapfDestinationTileOrStationRailT< Types >::PfCalcEstimate ( Node n)
inline

Called by YAPF to calculate cost estimate.

Calculates distance to the destination adds it to the actual cost from origin and stores the sum to the Node::m_estimate

Definition at line 192 of file yapf_destrail.hpp.

References abs(), CYapfDestinationTileOrStationRailT< Types >::PfDetectDestination(), TileX(), TileY(), TrackdirToExitdir(), YAPF_TILE_CORNER_LENGTH, and YAPF_TILE_LENGTH.


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