OpenTTD Source  12.0-beta2
LinkGraph::Edge Class Reference

An updatable edge class. More...

#include <linkgraph.h>

Inheritance diagram for LinkGraph::Edge:
LinkGraph::EdgeWrapper< BaseEdge >

Public Member Functions

 Edge (BaseEdge &edge)
 Constructor. More...
 
void Update (uint capacity, uint usage, uint32 time, EdgeUpdateMode mode)
 Update an edge. More...
 
void Restrict ()
 
void Release ()
 
- Public Member Functions inherited from LinkGraph::EdgeWrapper< BaseEdge >
 EdgeWrapper (BaseEdge &edge)
 Wrap a an edge. More...
 
uint Capacity () const
 Get edge's capacity. More...
 
uint Usage () const
 Get edge's usage. More...
 
uint32 TravelTime () const
 Get edge's average travel time. More...
 
Date LastUnrestrictedUpdate () const
 Get the date of the last update to the edge's unrestricted capacity. More...
 
Date LastRestrictedUpdate () const
 Get the date of the last update to the edge's restricted capacity. More...
 
Date LastUpdate () const
 Get the date of the last update to any part of the edge's capacity. More...
 

Additional Inherited Members

- Protected Attributes inherited from LinkGraph::EdgeWrapper< BaseEdge >
BaseEdgeedge
 Actual edge to be used.
 

Detailed Description

An updatable edge class.

Definition at line 299 of file linkgraph.h.

Constructor & Destructor Documentation

◆ Edge()

LinkGraph::Edge::Edge ( BaseEdge edge)
inline

Constructor.

Parameters
edgeEdge to be wrapped.

Definition at line 305 of file linkgraph.h.

Member Function Documentation

◆ Update()

void LinkGraph::Edge::Update ( uint  capacity,
uint  usage,
uint32  travel_time,
EdgeUpdateMode  mode 
)

Update an edge.

If mode contains UM_REFRESH refresh the edge to have at least the given capacity and usage, otherwise add the capacity, usage and travel time. In any case set the respective update timestamp(s), according to the given mode.

Parameters
capacityCapacity to be added/updated.
usageUsage to be added.
travel_timeTravel time to be added, in ticks.
modeUpdate mode to be applied.

Definition at line 268 of file linkgraph.cpp.

References _date, EUM_INCREASE, EUM_REFRESH, EUM_RESTRICTED, and EUM_UNRESTRICTED.


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