OpenTTD Source: CYapfFollowRoadT< Types > Class Template Reference

OpenTTD Source 15.0-beta1

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::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
Tpf & | Yapf ()
| to access inherited path finder

## Detailed Description

template<class Types>
class CYapfFollowRoadT< Types >

Definition at line 326 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 332 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 331 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 329 of file yapf_road.cpp.

## ◆ TrackFollower

template<class Types >

typedef Types::TrackFollower CYapfFollowRoadT< Types >::TrackFollower

Definition at line 330 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 368 of file yapf_road.cpp.

## ◆ DistanceToTile()

template<class Types >

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

Definition at line 433 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

  v | Vehicle
  tile | Tile of the vehicle.
  td | Trackdir of the vehicle.
  max_distance | max length (penalty) for paths.

Definition at line 490 of file yapf_road.cpp.

References TrackdirToTrackdirBits(), and CYapfFollowRoadT< 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 348 of file yapf_road.cpp.

References CYapfFollowRoadT< Types >::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.

Definition at line 463 of file yapf_road.cpp.

References GetTrackdirBitsForRoad(), RoadVehicle::GetVehicleTrackdir(), HasTrackdir(), Vehicle::tile, TrackdirToTrackdirBits(), and CYapfFollowRoadT< Types >::Yapf().

## ◆ stChooseRoadTrack()

template<class Types >

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

Definition at line 362 of file yapf_road.cpp.

## ◆ stFindNearestDepot()

template<class Types >

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

Definition at line 477 of file yapf_road.cpp.

## ◆ TransportTypeChar()

template<class Types >

char CYapfFollowRoadT< Types >::TransportTypeChar | ( |  | ) | const
| inline

return debug report character to identify the transportation type

Definition at line 357 of file yapf_road.cpp.

## ◆ Yapf()

template<class Types >

Tpf & CYapfFollowRoadT< Types >::Yapf | ( |  | ) |
| inlineprotected

to access inherited path finder

Definition at line 336 of file yapf_road.cpp.

Referenced by CYapfFollowRoadT< Types >::FindNearestDepot(), CYapfFollowRoadT< Types >::PfFollowNode(), and CYapfFollowRoadT< Types >::SetOriginFromVehiclePos().

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

- src/pathfinder/yapf/yapf_road.cpp