OpenTTD
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
CYapfFollowRoadT< Types > Class Template Reference

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
 

Public Member Functions

void PfFollowNode (Node &old_node)
 Called by YAPF to move from the given node to the next tile. More...
 
char TransportTypeChar () const
 return debug report character to identify the transportation type
 
Trackdir ChooseRoadTrack (const RoadVehicle *v, TileIndex tile, DiagDirection enterdir, bool &path_found)
 
uint DistanceToTile (const RoadVehicle *v, TileIndex dst_tile)
 
bool SetOriginFromVehiclePos (const RoadVehicle *v)
 Return true if the valid origin (tile/trackdir) was set from the current vehicle position. More...
 
FindDepotData FindNearestDepot (const RoadVehicle *v, TileIndex tile, Trackdir td, int max_distance)
 Find the best depot for a road vehicle. More...
 

Static Public Member Functions

static Trackdir stChooseRoadTrack (const RoadVehicle *v, TileIndex tile, DiagDirection enterdir, bool &path_found)
 
static uint stDistanceToTile (const RoadVehicle *v, TileIndex tile)
 
static FindDepotData stFindNearestDepot (const RoadVehicle *v, TileIndex tile, Trackdir td, int max_distance)
 

Protected Member Functions

TpfYapf ()
 to access inherited path finder
 

Detailed Description

template<class Types>
class CYapfFollowRoadT< Types >

Definition at line 300 of file yapf_road.cpp.

Member Function Documentation

◆ FindNearestDepot()

template<class Types >
FindDepotData CYapfFollowRoadT< Types >::FindNearestDepot ( const RoadVehicle v,
TileIndex  tile,
Trackdir  td,
int  max_distance 
)
inline

Find the best depot for a road vehicle.

Parameters
vVehicle
tileTile of the vehicle.
tdTrackdir of the vehicle.
max_distancemax length (penalty) for paths.
Todo:
max_distance not used by YAPF for road vehicles. It can be removed or copy the SetMaxCost() strategy applied in YAPF for rail. The best depot can be at a distance greater than max_distance.

Definition at line 450 of file yapf_road.cpp.

References TrackdirToTrackdirBits(), and CYapfCostRoadT< Types >::Yapf().

◆ PfFollowNode()

template<class Types >
void CYapfFollowRoadT< 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 322 of file yapf_road.cpp.

◆ SetOriginFromVehiclePos()

template<class Types >
bool CYapfFollowRoadT< Types >::SetOriginFromVehiclePos ( const RoadVehicle v)
inline

Return true if the valid origin (tile/trackdir) was set from the current vehicle position.

Definition at line 419 of file yapf_road.cpp.

References GetTileTrackStatus(), RoadVehicle::GetVehicleTrackdir(), Vehicle::tile, TrackdirToTrackdirBits(), TrackStatusToTrackdirBits(), TRANSPORT_ROAD, and CYapfCostRoadT< Types >::Yapf().


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