# CYapfFollowRoadT< Types > Class Template Reference

Inheritance diagram for CYapfFollowRoadT< Types >:

## 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.
FORCEINLINE char | TransportTypeChar () const
| return debug report character to identify the transportation type
FORCEINLINE Trackdir | ChooseRoadTrack (const RoadVehicle *v, TileIndex tile, DiagDirection enterdir)
FORCEINLINE uint | DistanceToTile (const RoadVehicle *v, TileIndex dst_tile)
FORCEINLINE bool | SetOriginFromVehiclePos (const RoadVehicle *v)
| Return true if the valid origin (tile/trackdir) was set from the current vehicle position.
FORCEINLINE bool | FindNearestDepot (const RoadVehicle *v, TileIndex tile, Trackdir td, int max_distance, TileIndex *depot_tile)

## Static Public Member Functions

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

## Protected Member Functions

FORCEINLINE Tpf & | Yapf ()
| to access inherited path finder

## Detailed Description

### template<class Types>
class CYapfFollowRoadT< Types >

Definition at line 287 of file yapf_road.cpp.

## Member Function Documentation

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 307 of file yapf_road.cpp.

References CYapfFollowRoadT< Types >::Yapf().

template<class Types >

FORCEINLINE 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 401 of file yapf_road.cpp.

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

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

- src/pathfinder/yapf/yapf_road.cpp