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

Node Follower module of YAPF for ships. More...

Inheritance diagram for CYapfFollowShipT< Types >:
CYapfT< CYapfShip_TypesT< CYapfShip1, CFollowTrackWater, CShipNodeListTrackDir > > CYapfT< CYapfShip_TypesT< CYapfShip2, CFollowTrackWater, CShipNodeListExitDir > > CYapfT< CYapfShip_TypesT< CYapfShip3, CFollowTrackWaterNo90, CShipNodeListTrackDir > > CYapfShip1 CYapfShip2 CYapfShip3

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.
char TransportTypeChar () const
 return debug report character to identify the transportation type

Static Public Member Functions

static Trackdir ChooseShipTrack (const Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found)
static bool CheckShipReverse (const Ship *v, TileIndex tile, Trackdir td1, Trackdir td2)
 Check whether a ship should reverse to reach its destination.

Protected Member Functions

TpfYapf ()
 to access inherited path finder

Detailed Description

template<class Types>
class CYapfFollowShipT< Types >

Node Follower module of YAPF for ships.

Definition at line 22 of file yapf_ship.cpp.

Member Function Documentation

template<class Types >
static bool CYapfFollowShipT< Types >::CheckShipReverse ( const Ship v,
TileIndex  tile,
Trackdir  td1,
Trackdir  td2 
)
inlinestatic

Check whether a ship should reverse to reach its destination.

Called when leaving depot.

Parameters
vShip
tileCurrent position
td1Forward direction
td2Reverse direction
Returns
true if the reverse direction is better

Definition at line 116 of file yapf_ship.cpp.

References Vehicle::dest_tile, GetTileTrackStatus(), TrackdirToTrackdirBits(), TrackStatusToTrackdirBits(), and TRANSPORT_WATER.

Referenced by YapfShipCheckReverse().

template<class Types >
void CYapfFollowShipT< 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 43 of file yapf_ship.cpp.

References CYapfFollowShipT< Types >::Yapf().


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