|
OpenTTD Source
14.0-beta1
|
Node of the link graph. More...
#include <linkgraph.h>
Public Member Functions | |
| BaseNode (TileIndex xy=INVALID_TILE, StationID st=INVALID_STATION, uint demand=0) | |
| Create a node or clear it. More... | |
| void | UpdateSupply (uint supply) |
| Update the node's supply and set last_update to the current date. More... | |
| void | UpdateLocation (TileIndex xy) |
| Update the node's location on the map. More... | |
| void | SetDemand (uint demand) |
| Set the node's demand. More... | |
| void | AddEdge (NodeID to, uint capacity, uint usage, uint32_t time, EdgeUpdateMode mode) |
| Fill an edge with values from a link. More... | |
| void | UpdateEdge (NodeID to, uint capacity, uint usage, uint32_t time, EdgeUpdateMode mode) |
| Creates an edge if none exists yet or updates an existing edge. More... | |
| void | RemoveEdge (NodeID to) |
| Remove an outgoing edge from this node. More... | |
| bool | HasEdgeTo (NodeID dest) const |
| Check if an edge to a destination is present. More... | |
| BaseEdge & | operator[] (NodeID to) |
| const BaseEdge & | operator[] (NodeID to) const |
Data Fields | |
| uint | supply |
| Supply at the station. | |
| uint | demand |
| Acceptance at the station. | |
| StationID | station |
| Station ID. | |
| TileIndex | xy |
| Location of the station referred to by the node. | |
| TimerGameEconomy::Date | last_update |
| When the supply was last updated. | |
| std::vector< BaseEdge > | edges |
| Sorted list of outgoing edges from this node. | |
Private Member Functions | |
| std::vector< BaseEdge >::iterator | GetEdge (NodeID dest) |
| std::vector< BaseEdge >::const_iterator | GetEdge (NodeID dest) const |
Node of the link graph.
contains all relevant information from the associated station. It's copied so that the link graph job can work on its own data set in a separate thread.
Definition at line 90 of file linkgraph.h.
| LinkGraph::BaseNode::BaseNode | ( | TileIndex | xy = INVALID_TILE, |
| StationID | st = INVALID_STATION, |
||
| uint | demand = 0 |
||
| ) |
Create a node or clear it.
| xy | Location of the associated station. |
| st | ID of the associated station. |
| demand | Demand for cargo at the station. |
Definition at line 26 of file linkgraph.cpp.
References TimerGameConst< struct Economy >::INVALID_DATE.
| void LinkGraph::BaseNode::AddEdge | ( | NodeID | to, |
| uint | capacity, | ||
| uint | usage, | ||
| uint32_t | travel_time, | ||
| EdgeUpdateMode | mode | ||
| ) |
Fill an edge with values from a link.
Set the restricted or unrestricted update timestamp according to the given update mode.
| to | Destination node of the link. |
| capacity | Capacity of the link. |
| usage | Usage to be added. |
| mode | Update mode to be used. |
Definition at line 167 of file linkgraph.cpp.
References LinkGraph::BaseEdge::capacity, TimerGameEconomy::date, EUM_RESTRICTED, EUM_UNRESTRICTED, LinkGraph::BaseEdge::last_restricted_update, LinkGraph::BaseEdge::last_unrestricted_update, LinkGraph::BaseEdge::travel_time_sum, and LinkGraph::BaseEdge::usage.
|
inline |
Check if an edge to a destination is present.
| dest | Wanted edge destination. |
Definition at line 138 of file linkgraph.h.
| void LinkGraph::BaseNode::RemoveEdge | ( | NodeID | to | ) |
Remove an outgoing edge from this node.
| to | ID of destination node. |
Definition at line 201 of file linkgraph.cpp.
|
inline |
Set the node's demand.
| demand | New demand for the node. |
Definition at line 124 of file linkgraph.h.
References demand.
| void LinkGraph::BaseNode::UpdateEdge | ( | NodeID | to, |
| uint | capacity, | ||
| uint | usage, | ||
| uint32_t | travel_time, | ||
| EdgeUpdateMode | mode | ||
| ) |
Creates an edge if none exists yet or updates an existing edge.
| to | Target node. |
| capacity | Capacity of the link. |
| usage | Usage to be added. |
| mode | Update mode to be used. |
Definition at line 186 of file linkgraph.cpp.
|
inline |
Update the node's location on the map.
| xy | New location. |
Definition at line 115 of file linkgraph.h.
References xy.
|
inline |
Update the node's supply and set last_update to the current date.
| supply | Supply to be added. |
Definition at line 105 of file linkgraph.h.
References TimerGameEconomy::date, and supply.