RoadStop::Entry Struct Reference

Container for each entry point of a drive through road stop. More...

#include <roadstop_base.h>


Public Member Functions

 Entry ()
 Create an entry.
FORCEINLINE int GetLength () const
 Get the length of this drive through stop.
FORCEINLINE int GetOccupied () const
 Get the amount of occupied space in this drive through stop.
void Leave (const RoadVehicle *rv)
 Leave the road stop.
void Enter (const RoadVehicle *rv)
 Enter the road stop.
void CheckIntegrity (const RoadStop *rs) const
 Check the integrity of the data in this struct.
void Rebuild (const RoadStop *rs, int side=-1)
 Rebuild, from scratch, the vehicles and other metadata on this stop.

Private Attributes

int length
 The length of the stop in tile 'units'.
int occupied
 The amount of occupied stop in tile 'units'.

Friends

struct RoadStop
 Oh yeah, the road stop may play with me.


Detailed Description

Container for each entry point of a drive through road stop.

Definition at line 33 of file roadstop_base.h.


Member Function Documentation

FORCEINLINE int RoadStop::Entry::GetLength (  )  const [inline]

Get the length of this drive through stop.

Returns:
the length in tile units.

Definition at line 48 of file roadstop_base.h.

References length.

FORCEINLINE int RoadStop::Entry::GetOccupied (  )  const [inline]

Get the amount of occupied space in this drive through stop.

Returns:
the occupied space in tile units.

Definition at line 57 of file roadstop_base.h.

References occupied.

void RoadStop::Entry::Leave ( const RoadVehicle rv  ) 

Leave the road stop.

Parameters:
rv the vehicle that leaves the stop

Definition at line 280 of file roadstop.cpp.

References RoadVehicleCache::cached_total_length, occupied, and RoadVehicle::rcache.

Referenced by RoadStop::Leave().

void RoadStop::Entry::Enter ( const RoadVehicle rv  ) 

Enter the road stop.

Parameters:
rv the vehicle that enters the stop

Definition at line 290 of file roadstop.cpp.

References RoadVehicleCache::cached_total_length, occupied, and RoadVehicle::rcache.

Referenced by RoadStop::Enter().

void RoadStop::Entry::CheckIntegrity ( const RoadStop rs  )  const

Check the integrity of the data in this struct.

Parameters:
rs the roadstop this entry is part of

Definition at line 380 of file roadstop.cpp.

References abs(), RoadStop::east, GetRoadStopDir(), HasBit(), RoadStop::IsDriveThroughRoadStopContinuation(), length, occupied, Rebuild(), RoadStop::RSSFB_BASE_ENTRY, RoadStop::status, TileOffsByDiagDir(), and RoadStop::xy.

void RoadStop::Entry::Rebuild ( const RoadStop rs,
int  side = -1 
)

Rebuild, from scratch, the vehicles and other metadata on this stop.

Parameters:
rs the roadstop this entry is part of
side the side of the road stop to look at

Definition at line 352 of file roadstop.cpp.

References abs(), RoadStopEntryRebuilderHelper::dir, RoadStop::east, FindVehicleOnPos(), FindVehiclesInRoadStop(), GetRoadStopDir(), HasBit(), RoadStop::IsDriveThroughRoadStopContinuation(), length, occupied, ReverseDiagDir(), RoadStop::RSSFB_BASE_ENTRY, RoadStop::status, TILE_SIZE, TileOffsByDiagDir(), RoadStopEntryRebuilderHelper::vehicles, and RoadStop::xy.

Referenced by CheckIntegrity(), and RoadStop::ClearDriveThrough().


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

Generated on Tue Jan 5 21:03:27 2010 for OpenTTD by  doxygen 1.5.6