OpenTTD Source 20260421-master-gc2fbc6fdeb
CYapfFollowRoadT< Types > Class Template Reference
Inheritance diagram for CYapfFollowRoadT< Types >:
CYapfT< CYapfRoad_TypesT< CYapfRoad, CYapfDestinationTileRoadT > > CYapfT< CYapfRoad_TypesT< CYapfRoadAnyDepot, CYapfDestinationAnyDepotRoadT > > CYapfRoad CYapfRoadAnyDepot

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 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 ChooseRoadTrack (const RoadVehicle *v, TileIndex tile, DiagDirection enterdir, bool &path_found, RoadVehPathCache &path_cache)
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.
FindDepotData FindNearestDepot (const RoadVehicle *v, TileIndex tile, Trackdir td, int max_distance)
 Find the best depot for a road vehicle.

Static Public Member Functions

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

Protected Member Functions

TpfYapf ()
 Access the inherited path finder.

Detailed Description

template<class Types>
class CYapfFollowRoadT< Types >

Definition at line 307 of file yapf_road.cpp.

Member Typedef Documentation

◆ Key

template<class Types>
typedef Node::Key CYapfFollowRoadT< Types >::Key

key to hash tables

Definition at line 312 of file yapf_road.cpp.

◆ Node

template<class Types>
typedef Types::NodeList::Item CYapfFollowRoadT< Types >::Node

this will be our node type

Definition at line 311 of file yapf_road.cpp.

◆ Tpf

template<class Types>
typedef Types::Tpf CYapfFollowRoadT< Types >::Tpf

the pathfinder class (derived from THIS class)

Definition at line 309 of file yapf_road.cpp.

◆ TrackFollower

template<class Types>
typedef Types::TrackFollower CYapfFollowRoadT< Types >::TrackFollower

Definition at line 310 of file yapf_road.cpp.

Member Function Documentation

◆ ChooseRoadTrack()

template<class Types>
Trackdir CYapfFollowRoadT< Types >::ChooseRoadTrack ( const RoadVehicle * v,
TileIndex tile,
DiagDirection enterdir,
bool & path_found,
RoadVehPathCache & path_cache )
inline

Definition at line 344 of file yapf_road.cpp.

◆ DistanceToTile()

template<class Types>
uint CYapfFollowRoadT< Types >::DistanceToTile ( const RoadVehicle * v,
TileIndex dst_tile )
inline

Definition at line 409 of file yapf_road.cpp.

◆ 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.
Returns
Information about the result of the search.

Definition at line 471 of file yapf_road.cpp.

References TrackdirToTrackdirBits(), and 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).

Parameters
old_nodeThe node to follow from.

Definition at line 324 of file yapf_road.cpp.

References Yapf().

◆ 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.

Parameters
vThe vehicle to get the position from.
Returns
true iff the origin was set.

Definition at line 443 of file yapf_road.cpp.

References GetTrackdirBitsForRoad(), RoadVehicle::GetVehicleTrackdir(), HasTrackdir(), Road, Vehicle::tile, TrackdirToTrackdirBits(), Tram, and Yapf().

◆ stChooseRoadTrack()

template<class Types>
Trackdir CYapfFollowRoadT< Types >::stChooseRoadTrack ( const RoadVehicle * v,
TileIndex tile,
DiagDirection enterdir,
bool & path_found,
RoadVehPathCache & path_cache )
inlinestatic

Definition at line 338 of file yapf_road.cpp.

◆ stFindNearestDepot()

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

Definition at line 457 of file yapf_road.cpp.

◆ TransportTypeChar()

template<class Types>
char CYapfFollowRoadT< Types >::TransportTypeChar ( ) const
inline

Return debug report character to identify the transportation type.

Returns
The debug representation

Definition at line 333 of file yapf_road.cpp.

◆ Yapf()

template<class Types>
Tpf & CYapfFollowRoadT< Types >::Yapf ( )
inlineprotected

Access the inherited path finder.

Returns
The current path finder.

Definition at line 316 of file yapf_road.cpp.

Referenced by FindNearestDepot(), PfFollowNode(), and SetOriginFromVehiclePos().


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