OpenTTD
CYapfRail2 Struct Reference
Inheritance diagram for CYapfRail2:
CYapfT< CYapfRail_TypesT< CYapfRail2, CFollowTrackRailNo90, CRailNodeListTrackDir, CYapfDestinationTileOrStationRailT, CYapfFollowRailT > > CYapfBaseT< Types > CYapfCostRailT< Types > CYapfSegmentCostCacheGlobalT< Types > CYapfOriginTileTwoWayT< Types > CYapfDestinationAnySafeTileRailT< Types > CYapfFollowAnySafeTileRailT< Types > CYapfCostBase CYapfSegmentCostCacheLocalT< Types > CYapfDestinationRailBase CYapfReserveTrack< Types >

Additional Inherited Members

- Public Types inherited from CYapfBaseT< Types >
typedef Types::Tpf Tpf
 the pathfinder class (derived from THIS class)
typedef Types::TrackFollower TrackFollower
typedef Types::NodeList NodeList
 our node list
typedef Types::VehicleType VehicleType
 the type of vehicle
typedef NodeList::Titem Node
 this will be our node type
typedef Node::Key Key
 key to hash tables
- Public Types inherited from CYapfCostRailT< 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 Types inherited from CYapfSegmentCostCacheGlobalT< Types >
typedef
CYapfSegmentCostCacheLocalT
< Types > 
Tlocal
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
typedef Node::CachedData CachedData
typedef CachedData::Key CacheKey
typedef CSegmentCostCacheT
< CachedData > 
Cache
- Public Types inherited from CYapfOriginTileTwoWayT< 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 Types inherited from CYapfDestinationAnySafeTileRailT< 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
typedef Types::TrackFollower TrackFollower
 TrackFollower. Need to typedef for gcc 2.95.
- Public Types inherited from CYapfFollowAnySafeTileRailT< 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
- Public Member Functions inherited from CYapfBaseT< Types >
 CYapfBaseT ()
 default constructor
 ~CYapfBaseT ()
 default destructor
const YAPFSettingsPfGetSettings () const
 return current settings (can be custom - company based - but later)
bool FindPath (const VehicleType *v)
 Main pathfinder routine:
NodeGetBestNode ()
 If path was found return the best node that has reached the destination.
NodeCreateNewNode ()
 Calls NodeList::CreateNewNode() - allocates new node that can be filled and used as argument for AddStartupNode() or AddNewNode()
void AddStartupNode (Node &n)
 Add new node (created by CreateNewNode and filled with data) into open list.
void AddMultipleNodes (Node *parent, const TrackFollower &tf)
 add multiple nodes - direct children of the given node
void PruneIntermediateNodeBranch ()
 In some cases an intermediate node branch should be pruned.
void AddNewNode (Node &n, const TrackFollower &tf)
 AddNewNode() - called by Tderived::PfFollowNode() for each child node.
const VehicleTypeGetVehicle () const
void DumpBase (DumpTarget &dmp) const
- Public Member Functions inherited from CYapfCostRailT< Types >
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.
bool CanUseGlobalCache (Node &n) const
void ConnectNodeToCachedData (Node &n, CachedData &ci)
void DisableCache (bool disable)
- Public Member Functions inherited from CYapfSegmentCostCacheGlobalT< Types >
bool PfNodeCacheFetch (Node &n)
 Called by YAPF to attach cached or local segment cost data to the given node.
void PfNodeCacheFlush (Node &n)
 Called by YAPF to flush the cached segment cost data back into cache storage.
- Public Member Functions inherited from CYapfOriginTileTwoWayT< Types >
void SetOrigin (TileIndex tile, Trackdir td, TileIndex tiler=INVALID_TILE, Trackdir tdr=INVALID_TRACKDIR, int reverse_penalty=0, bool treat_first_red_two_way_signal_as_eol=true)
 set origin (tiles, trackdirs, etc.)
void PfSetStartupNodes ()
 Called when YAPF needs to place origin nodes into open list.
bool TreatFirstRedTwoWaySignalAsEOL ()
 return true if first two-way signal should be treated as dead end
- Public Member Functions inherited from CYapfDestinationAnySafeTileRailT< Types >
TpfYapf ()
 to access inherited path finder
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.
- Public Member Functions inherited from CYapfFollowAnySafeTileRailT< Types >
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.
bool FindNearestSafeTile (const Train *v, TileIndex t1, Trackdir td, bool override_railtype, bool dont_reserve)
- 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?
- Static Public Member Functions inherited from CYapfFollowAnySafeTileRailT< Types >
static bool stFindNearestSafeTile (const Train *v, TileIndex t1, Trackdir td, bool override_railtype)
- Data Fields inherited from CYapfBaseT< Types >
NodeList m_nodes
 node list multi-container
CPerformanceTimer m_perf_cost
 stats - total CPU time of this run
CPerformanceTimer m_perf_slope_cost
 stats - slope calculation CPU time
CPerformanceTimer m_perf_ts_cost
 stats - GetTrackStatus() CPU time
CPerformanceTimer m_perf_other_cost
 stats - other CPU time
int m_num_steps
 this is there for debugging purposes (hope it doesn't hurt)
- Data Fields inherited from CYapfCostRailT< Types >
bool m_stopped_on_first_two_way_signal
- Protected Member Functions inherited from CYapfBaseT< Types >
TpfYapf ()
 to access inherited path finder
- Protected Member Functions inherited from CYapfCostRailT< Types >
TpfYapf ()
 to access inherited path finder
- Protected Member Functions inherited from CYapfSegmentCostCacheGlobalT< Types >
TpfYapf ()
 to access inherited path finder
- Protected Member Functions inherited from CYapfOriginTileTwoWayT< Types >
TpfYapf ()
 to access inherited path finder
- Protected Member Functions inherited from CYapfFollowAnySafeTileRailT< Types >
TpfYapf ()
 to access inherited path finder
- Static Protected Member Functions inherited from CYapfSegmentCostCacheGlobalT< Types >
static CachestGetGlobalCache ()
- Protected Attributes inherited from CYapfBaseT< Types >
Nodem_pBestDestNode
 pointer to the destination node found at last round
Nodem_pBestIntermediateNode
 here should be node closest to the destination if path not found
const YAPFSettingsm_settings
 current settings (_settings_game.yapf)
int m_max_search_nodes
 maximum number of nodes we are allowed to visit before we give up
const VehicleTypem_veh
 vehicle that we are trying to drive
int m_stats_cost_calcs
 stats - how many node's costs were calculated
int m_stats_cache_hits
 stats - how many node's costs were reused from cache
- Protected Attributes inherited from CYapfCostRailT< Types >
int m_max_cost
CBlobT< int > m_sig_look_ahead_costs
bool m_disable_cache
- Protected Attributes inherited from CYapfSegmentCostCacheGlobalT< Types >
Cachem_global_cache
- Protected Attributes inherited from CYapfOriginTileTwoWayT< Types >
TileIndex m_orgTile
 first origin tile
Trackdir m_orgTd
 first origin trackdir
TileIndex m_revTile
 second (reversed) origin tile
Trackdir m_revTd
 second (reversed) origin trackdir
int m_reverse_penalty
 penalty to be added for using the reversed origin
bool m_treat_first_red_two_way_signal_as_eol
 in some cases (leaving station) we need to handle first two-way signal differently
- Protected Attributes inherited from CYapfDestinationRailBase
RailTypes m_compatible_railtypes
- Static Protected Attributes inherited from CYapfCostRailT< Types >
static const int s_max_segment_cost = 10000

Detailed Description

Definition at line 529 of file yapf_rail.cpp.


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