OpenTTD Source 20260421-master-gc2fbc6fdeb
CYapfDestinationTileWaterT< Types > Class Template Reference
Inheritance diagram for CYapfDestinationTileWaterT< Types >:
CYapfT< CYapfShip_TypesT< CYapfShip > > CYapfShip

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 SetDestination (const Ship *v)
void SetIntermediateDestination (const WaterRegionPatchDesc &water_region_patch)
bool PfDetectDestination (Node &n)
 Called by YAPF to detect if node ends in the desired destination.
bool PfDetectDestinationTile (TileIndex tile, Trackdir td)
 Called by YAPF to detect if node ends in the desired destination.
bool PfCalcEstimate (Node &n)
 Called by YAPF to calculate cost estimate.

Protected Member Functions

TpfYapf ()
 Access the inherited path finder.

Protected Attributes

TileIndex dest_tile
TrackdirBits dest_trackdirs
StationID dest_station
bool has_intermediate_dest = false
TileIndex intermediate_dest_tile
WaterRegionPatchDesc intermediate_dest_region_patch

Detailed Description

template<class Types>
class CYapfDestinationTileWaterT< Types >

Definition at line 27 of file yapf_ship.cpp.

Member Typedef Documentation

◆ Key

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

key to hash tables.

Definition at line 32 of file yapf_ship.cpp.

◆ Node

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

this will be our node type.

Definition at line 31 of file yapf_ship.cpp.

◆ Tpf

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

the pathfinder class (derived from THIS class).

Definition at line 29 of file yapf_ship.cpp.

◆ TrackFollower

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

Definition at line 30 of file yapf_ship.cpp.

Member Function Documentation

◆ PfCalcEstimate()

template<class Types>
bool CYapfDestinationTileWaterT< Types >::PfCalcEstimate ( Node & n)
inline

Called by YAPF to calculate cost estimate.

Calculates distance to the destination adds it to the actual cost from origin and stores the sum to the Node::estimate.

Parameters
nThe node to start from.
Returns
true iff the cost could be estimated.

Definition at line 93 of file yapf_ship.cpp.

References OctileDistanceCost(), and PfDetectDestination().

◆ PfDetectDestination()

template<class Types>
bool CYapfDestinationTileWaterT< Types >::PfDetectDestination ( Node & n)
inline

Called by YAPF to detect if node ends in the desired destination.

Parameters
nThe current node.
Returns
true iff the destination has been reached.

Definition at line 73 of file yapf_ship.cpp.

References PfDetectDestinationTile().

Referenced by PfCalcEstimate().

◆ PfDetectDestinationTile()

template<class Types>
bool CYapfDestinationTileWaterT< Types >::PfDetectDestinationTile ( TileIndex tile,
Trackdir td )
inline

Called by YAPF to detect if node ends in the desired destination.

Parameters
tileThe reached tile.
tdThe reached track direction.
Returns
true iff the destination has been reached.

Definition at line 79 of file yapf_ship.cpp.

References GetWaterRegionInfo(), GetWaterRegionPatchInfo(), IsDockingTile(), IsShipDestinationTile(), TRACKDIR_BIT_NONE, and TrackdirToTrackdirBits().

Referenced by PfDetectDestination().

◆ SetDestination()

template<class Types>
void CYapfDestinationTileWaterT< Types >::SetDestination ( const Ship * v)
inline

Definition at line 44 of file yapf_ship.cpp.

◆ SetIntermediateDestination()

template<class Types>
void CYapfDestinationTileWaterT< Types >::SetIntermediateDestination ( const WaterRegionPatchDesc & water_region_patch)
inline

Definition at line 57 of file yapf_ship.cpp.

◆ Yapf()

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

Access the inherited path finder.

Returns
The current path finder.

Definition at line 66 of file yapf_ship.cpp.

Field Documentation

◆ dest_station

template<class Types>
StationID CYapfDestinationTileWaterT< Types >::dest_station
protected

Definition at line 37 of file yapf_ship.cpp.

◆ dest_tile

template<class Types>
TileIndex CYapfDestinationTileWaterT< Types >::dest_tile
protected

Definition at line 35 of file yapf_ship.cpp.

◆ dest_trackdirs

template<class Types>
TrackdirBits CYapfDestinationTileWaterT< Types >::dest_trackdirs
protected

Definition at line 36 of file yapf_ship.cpp.

◆ has_intermediate_dest

template<class Types>
bool CYapfDestinationTileWaterT< Types >::has_intermediate_dest = false
protected

Definition at line 39 of file yapf_ship.cpp.

◆ intermediate_dest_region_patch

template<class Types>
WaterRegionPatchDesc CYapfDestinationTileWaterT< Types >::intermediate_dest_region_patch
protected

Definition at line 41 of file yapf_ship.cpp.

◆ intermediate_dest_tile

template<class Types>
TileIndex CYapfDestinationTileWaterT< Types >::intermediate_dest_tile
protected

Definition at line 40 of file yapf_ship.cpp.


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