OpenTTD Source: SpecializedVehicle< T, Type > Struct Template Reference

OpenTTD Source 12.0-beta1

Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes
SpecializedVehicle< T, Type > Struct Template Reference

Class defining several overloaded accessors so we don't have to cast vehicle types that often. More...

`#include <vehicle_base.h>`

Inheritance diagram for SpecializedVehicle< T, Type >:

## Public Types
typedef SpecializedVehicle< T, Type > | SpecializedVehicleBase
| Our type.
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > | Pool
| Type of the pool this item is going to be part of.

## Public Member Functions
| SpecializedVehicle ()
| Set vehicle type correctly.
T * | First () const
| Get the first vehicle in the chain. More...
T * | Last ()
| Get the last vehicle in the chain. More...
const T * | Last () const
| Get the last vehicle in the chain. More...
T * | Next () const
| Get next vehicle in the chain. More...
T * | Previous () const
| Get previous vehicle in the chain. More...
T * | GetNextArticulatedPart ()
| Get the next part of an articulated engine. More...
T * | GetNextArticulatedPart () const
| Get the next part of an articulated engine. More...
T * | GetFirstEnginePart ()
| Get the first part of an articulated engine. More...
const T * | GetFirstEnginePart () const
| Get the first part of an articulated engine. More...
T * | GetLastEnginePart ()
| Get the last part of an articulated engine. More...
T * | GetNextVehicle () const
| Get the next real (non-articulated part) vehicle in the consist. More...
T * | GetPrevVehicle () const
| Get the previous real (non-articulated part) vehicle in the consist. More...
void | UpdateViewport (bool force_update, bool update_delta)
| Update vehicle sprite- and position caches. More...
Public Member Functions inherited from Vehicle
| Vehicle (VehicleType type=VEH_INVALID)
| Vehicle constructor. More...
void | PreDestructor ()
| Destroy all stuff that (still) needs the virtual functions to work properly.
virtual | ~Vehicle ()
| We want to 'destruct' the right class.
void | BeginLoading ()
| Prepare everything to begin the loading when arriving at a station. More...
void | CancelReservation (StationID next, Station *st)
| Return all reserved cargo packets to the station and reset all packets staged for transfer. More...
void | LeaveStation ()
| Perform all actions when leaving a station. More...
GroundVehicleCache * | GetGroundVehicleCache ()
| Access the ground vehicle cache of the vehicle. More...
const GroundVehicleCache * | GetGroundVehicleCache () const
uint16 & | GetGroundVehicleFlags ()
| Access the ground vehicle flags of the vehicle. More...
const uint16 & | GetGroundVehicleFlags () const
void | DeleteUnreachedImplicitOrders ()
| Delete all implicit orders which were not reached.
void | HandleLoading (bool mode=false)
| Handle the loading of the vehicle; when not it skips through dummy orders and does nothing in all other cases. More...
void | GetConsistFreeCapacities (SmallMap< CargoID, uint > &capacities) const
| Get a map of cargoes and free capacities in the consist. More...
uint | GetConsistTotalCapacity () const
virtual void | MarkDirty ()
| Marks the vehicles to be redrawn and updates cached variables. More...
virtual void | UpdateDeltaXY ()
| Updates the x and y offsets and the size of the sprite used for this vehicle.
uint | GetOldAdvanceSpeed (uint speed)
| Determines the effective direction-specific vehicle movement speed. More...
uint | GetAdvanceDistance ()
| Determines the vehicle "progress" needed for moving a step. More...
virtual ExpensesType | GetExpenseType (bool income) const
| Sets the expense type associated to this vehicle type. More...
virtual void | PlayLeaveStationSound () const
| Play the sound associated with leaving the station.
virtual bool | IsPrimaryVehicle () const
| Whether this is the primary vehicle in the chain.
const Engine * | GetEngine () const
| Retrieves the engine of the vehicle. More...
virtual void | GetImage (Direction direction, EngineImageType image_type, VehicleSpriteSeq *result) const
| Gets the sprite to show for the given direction. More...
const GRFFile * | GetGRF () const
| Retrieve the NewGRF the vehicle is tied to. More...
uint32 | GetGRFID () const
| Retrieve the GRF ID of the NewGRF the vehicle is tied to. More...
void | InvalidateNewGRFCache ()
| Invalidates cached NewGRF variables. More...
void | InvalidateNewGRFCacheOfChain ()
| Invalidates cached NewGRF variables of all vehicles in the chain (after the current vehicle) More...
bool | IsGroundVehicle () const
| Check if the vehicle is a ground vehicle. More...
virtual int | GetDisplaySpeed () const
| Gets the speed in km-ish/h that can be sent into SetDParam for string processing. More...
virtual int | GetDisplayMaxSpeed () const
| Gets the maximum speed in km-ish/h that can be sent into SetDParam for string processing. More...
virtual int | GetCurrentMaxSpeed () const
| Calculates the maximum speed of the vehicle under its current conditions. More...
virtual Money | GetRunningCost () const
| Gets the running cost of a vehicle. More...
virtual bool | IsInDepot () const
| Check whether the vehicle is in the depot. More...
virtual bool | IsChainInDepot () const
| Check whether the whole vehicle chain is in the depot. More...
bool | IsStoppedInDepot () const
| Check whether the vehicle is in the depot and stopped. More...
virtual bool | Tick ()
| Calls the tick handler of the vehicle. More...
virtual void | OnNewDay ()
| Calls the new day handler of the vehicle.
virtual uint | Crash (bool flooded=false)
| Crash the (whole) vehicle chain. More...
virtual Trackdir | GetVehicleTrackdir () const
| Returns the Trackdir on which the vehicle is currently located. More...
Money | GetDisplayRunningCost () const
| Gets the running cost of a vehicle that can be sent into SetDParam for string processing. More...
Money | GetDisplayProfitThisYear () const
| Gets the profit vehicle had this year. More...
Money | GetDisplayProfitLastYear () const
| Gets the profit vehicle had last year. More...
void | SetNext (Vehicle *next)
| Set the next vehicle of this vehicle. More...
Vehicle * | Next () const
| Get the next vehicle of this vehicle. More...
Vehicle * | Previous () const
| Get the previous vehicle of this vehicle. More...
Vehicle * | First () const
| Get the first vehicle of this vehicle chain. More...
Vehicle * | Last ()
| Get the last vehicle of this vehicle chain. More...
const Vehicle * | Last () const
| Get the last vehicle of this vehicle chain. More...
Vehicle * | Move (int n)
| Get the vehicle at offset n of this vehicle chain. More...
const Vehicle * | Move (int n) const
| Get the vehicle at offset n of this vehicle chain. More...
Order * | GetFirstOrder () const
| Get the first order of the vehicles order list. More...
void | AddToShared (Vehicle *shared_chain)
| Adds this vehicle to a shared vehicle chain. More...
void | RemoveFromShared ()
| Removes the vehicle from the shared order list.
Vehicle * | NextShared () const
| Get the next vehicle of the shared vehicle chain. More...
Vehicle * | PreviousShared () const
| Get the previous vehicle of the shared vehicle chain. More...
Vehicle * | FirstShared () const
| Get the first vehicle of this vehicle chain. More...
bool | IsOrderListShared () const
| Check if we share our orders with another vehicle. More...
VehicleOrderID | GetNumOrders () const
| Get the number of orders this vehicle has. More...
VehicleOrderID | GetNumManualOrders () const
| Get the number of manually added orders this vehicle has. More...
StationIDStack | GetNextStoppingStation () const
| Get the next station the vehicle will stop at. More...
void | ResetRefitCaps ()
| Reset all refit_cap in the consist to cargo_cap.
void | CopyVehicleConfigAndStatistics (const Vehicle *src)
| Copy certain configurations and statistics of a vehicle after successful autoreplace/renew The function shall copy everything that cannot be copied by a command (like orders / group etc), and that shall not be resetted for the new vehicle. More...
bool | HandleBreakdown ()
| Handle all of the aspects of a vehicle breakdown This includes adding smoke and sounds, and ending the breakdown when appropriate. More...
bool | NeedsAutorenewing (const Company *c, bool use_renew_setting=true) const
| Function to tell if a vehicle needs to be autorenewed. More...
bool | NeedsServicing () const
| Check if the vehicle needs to go to a depot in near future (if a opportunity presents itself) for service or replacement. More...
bool | NeedsAutomaticServicing () const
| Checks if the current order should be interrupted for a service-in-depot order. More...
virtual TileIndex | GetOrderStationLocation (StationID station)
| Determine the location for the station where the vehicle goes to next. More...
virtual bool | FindClosestDepot (TileIndex *location, DestinationID *destination, bool *reverse)
| Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse. More...
virtual void | SetDestTile (TileIndex tile)
CommandCost | SendToDepot (DoCommandFlag flags, DepotCommand command)
| Send this vehicle to the depot using the given command(s). More...
void | UpdateVisualEffect (bool allow_power_change=true)
| Update the cached visual effect. More...
void | ShowVisualEffect () const
| Draw visual effects (smoke and/or sparks) for a vehicle chain. More...
void | UpdatePosition ()
| Update the position of the vehicle. More...
void | UpdateViewport (bool dirty)
| Update the vehicle on the viewport, updating the right hash and setting the new coordinates. More...
void | UpdateBoundingBoxCoordinates (bool update_cache) const
| Update the bounding box co-ordinates of the vehicle. More...
void | UpdatePositionAndViewport ()
| Update the position of the vehicle, and update the viewport.
bool | MarkAllViewportsDirty () const
| Marks viewports dirty where the vehicle's image is. More...
uint16 | GetServiceInterval () const
void | SetServiceInterval (uint16 interval)
bool | ServiceIntervalIsCustom () const
bool | ServiceIntervalIsPercent () const
void | SetServiceIntervalIsCustom (bool on)
void | SetServiceIntervalIsPercent (bool on)
void | IncrementImplicitOrderIndex ()
| Increments cur_implicit_order_index, keeps care of the wrap-around and invalidates the GUI. More...
void | IncrementRealOrderIndex ()
| Advanced cur_real_order_index to the next real order, keeps care of the wrap-around and invalidates the GUI. More...
void | UpdateRealOrderIndex ()
| Skip implicit orders until cur_real_order_index is a non-implicit order.
Order * | GetOrder (int index) const
| Returns order 'index' of a vehicle or nullptr when it doesn't exists. More...
Order * | GetLastOrder () const
| Returns the last order of a vehicle, or nullptr if it doesn't exists. More...
bool | IsEngineCountable () const
| Check if a vehicle is counted in num_engines in each company struct. More...
bool | HasEngineType () const
| Check whether Vehicle::engine_type has any meaning. More...
bool | HasDepotOrder () const
| Checks if a vehicle has a depot in its order list. More...
void | HandlePathfindingResult (bool path_found)
| Handle the pathfinding result, especially the lost status. More...
bool | IsFrontEngine () const
| Check if the vehicle is a front engine. More...
bool | IsArticulatedPart () const
| Check if the vehicle is an articulated part of an engine. More...
bool | HasArticulatedPart () const
| Check if an engine has an articulated part. More...
Vehicle * | GetNextArticulatedPart () const
| Get the next part of an articulated engine. More...
Vehicle * | GetFirstEnginePart ()
| Get the first part of an articulated engine. More...
const Vehicle * | GetFirstEnginePart () const
| Get the first part of an articulated engine. More...
Vehicle * | GetLastEnginePart ()
| Get the last part of an articulated engine. More...
Vehicle * | GetNextVehicle () const
| Get the next real (non-articulated part) vehicle in the consist. More...
Vehicle * | GetPrevVehicle () const
| Get the previous real (non-articulated part) vehicle in the consist. More...
IterateWrapper | Orders () const
| Returns an iterable ensemble of orders of a vehicle. More...
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >
void * | operator new (size_t size)
| Allocates space for new Titem. More...
void * | operator new (size_t size, size_t index)
| Allocates space for new Titem with given index. More...
void * | operator new (size_t size, void *ptr)
| Allocates space for new Titem at given memory address. More...
void | operator delete (void *p)
| Marks Titem as free. More...
Public Member Functions inherited from BaseConsist
void | CopyConsistPropertiesFrom (const BaseConsist *src)
| Copy properties of other BaseConsist. More...

## Static Public Member Functions
static bool | IsValidID (size_t index)
| Tests whether given index is a valid index for vehicle of this type. More...
static T * | Get (size_t index)
| Gets vehicle with given index. More...
static T * | GetIfValid (size_t index)
| Returns vehicle if the index is a valid index for this vehicle type. More...
static T * | From (Vehicle *v)
| Converts a Vehicle to SpecializedVehicle with type checking. More...
static const T * | From (const Vehicle *v)
| Converts a const Vehicle to const SpecializedVehicle with type checking. More...
static Pool::IterateWrapper< T > | Iterate (size_t from=0)
| Returns an iterable ensemble of all valid vehicles of type T. More...
Static Public Member Functions inherited from Vehicle
static uint | GetAdvanceSpeed (uint speed)
| Determines the effective vehicle movement speed. More...
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >
static bool | CanAllocateItem (size_t n=1)
| Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() More...
static bool | CleaningPool ()
| Returns current state of pool cleaning - yes or no. More...
static bool | IsValidID (size_t index)
| Tests whether given index can be used to get valid (non-nullptr) Titem. More...
static Titem * | Get (size_t index)
| Returns Titem with given index. More...
static Titem * | GetIfValid (size_t index)
| Returns Titem with given index. More...
static size_t | GetPoolSize ()
| Returns first unused index. More...
static size_t | GetNumItems ()
| Returns number of valid items in the pool. More...
static void | PostDestructor (size_t index)
| Dummy function called after destructor of each member. More...
static Pool::IterateWrapper< Titem > | Iterate (size_t from=0)
| Returns an iterable ensemble of all valid Titem. More...

## Static Public Attributes
static const VehicleType | EXPECTED_TYPE = Type
| Specialized type.

## Additional Inherited Members
Data Fields inherited from Vehicle
TileIndex | tile
| Current tile index.
TileIndex | dest_tile
| Heading for this tile. More...
Money | profit_this_year
| Profit this year << 8, low 8 bits are fract.
Money | profit_last_year
| Profit last year << 8, low 8 bits are fract.
Money | value
| Value of the vehicle.
CargoPayment * | cargo_payment
| The cargo payment we're currently in.
Rect | coord
| NOSAVE: Graphical bounding box of the vehicle, i.e. what to redraw on moves.
Vehicle * | hash_viewport_next
| NOSAVE: Next vehicle in the visual location hash.
Vehicle ** | hash_viewport_prev
| NOSAVE: Previous vehicle in the visual location hash.
Vehicle * | hash_tile_next
| NOSAVE: Next vehicle in the tile location hash.
Vehicle ** | hash_tile_prev
| NOSAVE: Previous vehicle in the tile location hash.
Vehicle ** | hash_tile_current
| NOSAVE: Cache of the current hash chain.
SpriteID | colourmap
| NOSAVE: cached colour mapping.
Year | build_year
| Year the vehicle has been built.
Date | age
| Age in days.
Date | max_age
| Maximum age.
Date | date_of_last_service
| Last date the vehicle had a service at a depot.
uint16 | reliability
| Reliability.
uint16 | reliability_spd_dec
| Reliability decrease speed.
byte | breakdown_ctr
| Counter for managing breakdown events. More...
byte | breakdown_delay
| Counter for managing breakdown length.
byte | breakdowns_since_last_service
| Counter for the amount of breakdowns.
byte | breakdown_chance
| Current chance of breakdowns.
int32 | x_pos
| x coordinate.
int32 | y_pos
| y coordinate.
int32 | z_pos
| z coordinate.
Direction | direction
| facing
Owner | owner
| Which company owns the vehicle?
byte | spritenum
| currently displayed sprite index 0xfd == custom sprite, 0xfe == custom second head sprite 0xff == reserved for another custom sprite
byte | x_extent
| x-extent of vehicle bounding box
byte | y_extent
| y-extent of vehicle bounding box
byte | z_extent
| z-extent of vehicle bounding box
int8 | x_bb_offs
| x offset of vehicle bounding box
int8 | y_bb_offs
| y offset of vehicle bounding box
int8 | x_offs
| x offset for vehicle sprite
int8 | y_offs
| y offset for vehicle sprite
EngineID | engine_type
| The type of engine used for this vehicle.
TextEffectID | fill_percent_te_id
| a text-effect id to a loading indicator object
UnitID | unitnumber
| unit number, for display purposes only
uint16 | cur_speed
| current speed
byte | subspeed
| fractional speed
byte | acceleration
| used by train & aircraft
uint32 | motion_counter
| counter to occasionally play a vehicle sound.
byte | progress
| The percentage (if divided by 256) this vehicle already crossed the tile unit.
byte | random_bits
| Bits used for determining which randomized variational spritegroups to use when drawing.
byte | waiting_triggers
| Triggers to be yet matched before rerandomizing the random bits.
StationID | last_station_visited
| The last station we stopped at.
StationID | last_loading_station
| Last station the vehicle has stopped at and could possibly leave from with any cargo loaded.
CargoID | cargo_type
| type of cargo this vehicle is carrying
byte | cargo_subtype
| Used for livery refits (NewGRF variations)
uint16 | cargo_cap
| total capacity
uint16 | refit_cap
| Capacity left over from before last refit.
VehicleCargoList | cargo
| The cargo this vehicle is carrying.
uint16 | cargo_age_counter
| Ticks till cargo is aged next.
int8 | trip_occupancy
| NOSAVE: Occupancy of vehicle of the current trip (updated after leaving a station).
byte | day_counter
| Increased by one for each day.
byte | tick_counter
| Increased by one for each tick.
byte | running_ticks
| Number of ticks this vehicle was not stopped this day.
byte | vehstatus
| Status.
Order | current_order
| The current order (+ status, like: loading)
union {
OrderList * list
| Pointer to the order list for this vehicle.
Order * old
| Only used during conversion of old save games.
} | orders
| The orders currently assigned to the vehicle.
uint16 | load_unload_ticks
| Ticks to wait before starting next cycle.
GroupID | group_id
| Index of group Pool array.
byte | subtype
| subtype (Filled with values from AircraftSubType/DisasterSubType/EffectVehicleType/GroundVehicleSubtypeFlags)
NewGRFCache | grf_cache
| Cache of often used calculated NewGRF values.
VehicleCache | vcache
| Cache of often used vehicle values.
MutableSpriteCache | sprite_cache
| Cache of sprites and values related to recalculating them, see MutableSpriteCache.
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >
Tindex | index
| Index of this pool item.
Data Fields inherited from BaseVehicle
VehicleType | type
| Type of vehicle.
Data Fields inherited from BaseConsist
std::string | name
| Name of vehicle.
uint32 | current_order_time
| How many ticks have passed since this order started.
int32 | lateness_counter
| How many ticks late (or early if negative) this vehicle is.
Date | timetable_start
| When the vehicle is supposed to start the timetable.
uint16 | service_interval
| The interval for (automatic) servicing; either in days or %.
VehicleOrderID | cur_real_order_index
| The index to the current real (non-implicit) order.
VehicleOrderID | cur_implicit_order_index
| The index to the current implicit order.
uint16 | vehicle_flags
| Used for gradual loading and other miscellaneous things (. More...

## Detailed Description

### template<class T, VehicleType Type>
struct SpecializedVehicle< T, Type >

Class defining several overloaded accessors so we don't have to cast vehicle types that often.

Definition at line 1044 of file vehicle_base.h.

## Member Function Documentation

## ◆ First()

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::First | ( |  | ) | const
| inline

Get the first vehicle in the chain.

Returns
  first vehicle in the chain

Definition at line 1061 of file vehicle_base.h.

Referenced by BuildDepotVehicleList(), CmdAutoreplaceVehicle(), CmdSellRailWagon(), DeleteLastRoadVeh(), DeleteLastWagon(), FindTrainCollideEnum(), FindTrainOnTrackEnum(), FollowTrainReservation(), and TrainController().

## ◆ From() [1/2]

template<class T , VehicleType Type>

static const T* SpecializedVehicle< T, Type >::From | ( | const Vehicle * | v | ) |
| inlinestatic

Converts a const Vehicle to const SpecializedVehicle with type checking.

Parameters

  v | Vehicle pointer

Returns
  pointer to SpecializedVehicle

Definition at line 1175 of file vehicle_base.h.

## ◆ From() [2/2]

template<class T , VehicleType Type>

static T* SpecializedVehicle< T, Type >::From | ( | Vehicle * | v | ) |
| inlinestatic

Converts a Vehicle to SpecializedVehicle with type checking.

Parameters

  v | Vehicle pointer

Returns
  pointer to SpecializedVehicle

Definition at line 1164 of file vehicle_base.h.

## ◆ Get()

template<class T , VehicleType Type>

static T* SpecializedVehicle< T, Type >::Get | ( | size_t | index | ) |
| inlinestatic

Gets vehicle with given index.

Returns
  pointer to vehicle with given index casted to T *

Definition at line 1145 of file vehicle_base.h.

## ◆ GetFirstEnginePart() [1/2]

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::GetFirstEnginePart | ( |  | ) |
| inline

Get the first part of an articulated engine.

Returns
  First part of the engine.

Definition at line 1105 of file vehicle_base.h.

Referenced by CmdSellRailWagon(), and GetVehicleSet().

## ◆ GetFirstEnginePart() [2/2]

template<class T , VehicleType Type>

const T* SpecializedVehicle< T, Type >::GetFirstEnginePart | ( |  | ) | const
| inline

Get the first part of an articulated engine.

Returns
  First part of the engine.

Definition at line 1111 of file vehicle_base.h.

## ◆ GetIfValid()

template<class T , VehicleType Type>

static T* SpecializedVehicle< T, Type >::GetIfValid | ( | size_t | index | ) |
| inlinestatic

Returns vehicle if the index is a valid index for this vehicle type.

Returns
  pointer to vehicle with given index if it's a vehicle of this type

Definition at line 1154 of file vehicle_base.h.

## ◆ GetLastEnginePart()

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::GetLastEnginePart | ( |  | ) |
| inline

Get the last part of an articulated engine.

Returns
  Last part of the engine.

Definition at line 1117 of file vehicle_base.h.

Referenced by RemoveFromConsist().

## ◆ GetNextArticulatedPart() [1/2]

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::GetNextArticulatedPart | ( |  | ) |
| inline

Get the next part of an articulated engine.

Returns
  Next part of the articulated engine.

Precondition
  The vehicle is an articulated engine.

Definition at line 1092 of file vehicle_base.h.

## ◆ GetNextArticulatedPart() [2/2]

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::GetNextArticulatedPart | ( |  | ) | const
| inline

Get the next part of an articulated engine.

Returns
  Next part of the articulated engine.

Precondition
  The vehicle is an articulated engine.

Definition at line 1099 of file vehicle_base.h.

## ◆ GetNextVehicle()

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::GetNextVehicle | ( |  | ) | const
| inline

Get the next real (non-articulated part) vehicle in the consist.

Returns
  Next vehicle in the consist.

Definition at line 1123 of file vehicle_base.h.

Referenced by ArrangeTrains(), ConnectMultiheadedTrains(), Train::GetNextUnit(), GetTrainDetailsWndVScroll(), and NormaliseDualHeads().

## ◆ GetPrevVehicle()

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::GetPrevVehicle | ( |  | ) | const
| inline

Get the previous real (non-articulated part) vehicle in the consist.

Returns
  Previous vehicle in the consist.

Definition at line 1129 of file vehicle_base.h.

Referenced by Train::GetPrevUnit().

## ◆ IsValidID()

template<class T , VehicleType Type>

static bool SpecializedVehicle< T, Type >::IsValidID | ( | size_t | index | ) |
| inlinestatic

Tests whether given index is a valid index for vehicle of this type.

Parameters

  index | tested index

Returns
  is this index valid index of T?

Definition at line 1136 of file vehicle_base.h.

## ◆ Iterate()

template<class T , VehicleType Type>

static Pool::IterateWrapper<T> SpecializedVehicle< T, Type >::Iterate | ( | size_t | from = `0` | ) |
| inlinestatic

Returns an iterable ensemble of all valid vehicles of type T.

Parameters

  from | index of the first vehicle to consider

Returns
  an iterable ensemble of all valid vehicles of type T

Definition at line 1233 of file vehicle_base.h.

## ◆ Last() [1/2]

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::Last | ( |  | ) |
| inline

Get the last vehicle in the chain.

Returns
  last vehicle in the chain

Definition at line 1067 of file vehicle_base.h.

Referenced by AdvanceWagonsAfterSwap(), AdvanceWagonsBeforeSwap(), FreeTrainReservation(), InsertInConsist(), NPFTrainCheckReverse(), NPFTrainFindNearestDepot(), RemoveFromConsist(), RestoreTrainReservation(), YapfTrainCheckReverse(), and YapfTrainFindNearestDepot().

## ◆ Last() [2/2]

template<class T , VehicleType Type>

const T* SpecializedVehicle< T, Type >::Last | ( |  | ) | const
| inline

Get the last vehicle in the chain.

Returns
  last vehicle in the chain

Definition at line 1073 of file vehicle_base.h.

## ◆ Next()

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::Next | ( |  | ) | const
| inline

Get next vehicle in the chain.

Returns
  next vehicle in the chain

Definition at line 1079 of file vehicle_base.h.

Referenced by AdvanceWagonsAfterSwap(), AircraftLeaveHangar(), CheckTrainAttachment(), CheckTrainsLengths(), CheckTrainStayInDepot(), CmdSellRailWagon(), ConvertOldMultiheadToNew(), Train::Crash(), CrashAirplane(), DeleteLastRoadVeh(), DeleteLastWagon(), FixupTrainLengths(), RoadVehicle::GetCurrentMaxSpeed(), GetLengthOfArticulatedVehicle(), VehicleDetailsWindow::GetRoadVehDetailsHeight(), GetVehicleSet(), GetVehicleWidth(), HandleAircraftEnterHangar(), RoadVehicle::HasToUseGetSlopePixelZ(), HighlightDragPosition(), InsertInConsist(), MakeTrainBackup(), RoadVehicle::MarkDirty(), NormaliseDualHeads(), NormaliseSubtypes(), RemoveFromConsist(), Train::ReserveTrackUnderConsist(), ReverseTrainSwapVeh(), RoadVehUpdateCache(), TrainController(), UpdateTrainGroupID(), and WhoCanServiceIndustry().

## ◆ Previous()

template<class T , VehicleType Type>

T* SpecializedVehicle< T, Type >::Previous | ( |  | ) | const
| inline

Get previous vehicle in the chain.

Returns
  previous vehicle in the chain

Definition at line 1085 of file vehicle_base.h.

Referenced by NormaliseSubtypes(), RemoveFromConsist(), RestoreTrainBackup(), and TrainController().

## ◆ UpdateViewport()

template<class T , VehicleType Type>

void SpecializedVehicle< T, Type >::UpdateViewport | ( | bool | force_update,
|  | bool | update_delta
| ) |  |
| inline

Update vehicle sprite- and position caches.

Parameters

  force_update | Force updating the vehicle on the viewport.
  update_delta | Also update the delta?

Definition at line 1186 of file vehicle_base.h.

Referenced by ShipMoveUpDownOnLock(), GroundVehicle< RoadVehicle, VEH_ROAD >::UpdateInclination(), UpdateStatusAfterSwap(), and VehicleEnterDepot().

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

- src/vehicle_base.h