| OpenTTD
    | 
Updatable node class. More...
#include <linkgraph.h>
 
  
 | Public Member Functions | |
| Node (LinkGraph *lg, NodeID node) | |
| Constructor. | |
| Edge | operator[] (NodeID to) | 
| Get an Edge. | |
| EdgeIterator | Begin () | 
| Get an iterator pointing to the start of the edges array. | |
| EdgeIterator | End () | 
| Get an iterator pointing beyond the end of the edges array. | |
| void | UpdateSupply (uint supply) | 
| Update the node's supply and set last_update to the current date. | |
| void | UpdateLocation (TileIndex xy) | 
| Update the node's location on the map. | |
| void | SetDemand (uint demand) | 
| Set the node's demand. | |
| void | AddEdge (NodeID to, uint capacity, uint usage, EdgeUpdateMode mode) | 
| Fill an edge with values from a link. | |
| void | UpdateEdge (NodeID to, uint capacity, uint usage, EdgeUpdateMode mode) | 
| Creates an edge if none exists yet or updates an existing edge. | |
| void | RemoveEdge (NodeID to) | 
| Remove an outgoing edge from this node. | |
|  Public Member Functions inherited from LinkGraph::NodeWrapper< BaseNode, BaseEdge > | |
| NodeWrapper (BaseNode &node, BaseEdge *edges, NodeID index) | |
| Wrap a node. | |
| uint | Supply () const | 
| Get supply of wrapped node. | |
| uint | Demand () const | 
| Get demand of wrapped node. | |
| StationID | Station () const | 
| Get ID of station belonging to wrapped node. | |
| Date | LastUpdate () const | 
| Get node's last update. | |
| TileIndex | XY () const | 
| Get the location of the station associated with the node. | |
| Additional Inherited Members | |
|  Protected Attributes inherited from LinkGraph::NodeWrapper< BaseNode, BaseEdge > | |
| BaseNode & | node | 
| Node being wrapped. | |
| BaseEdge * | edges | 
| Outgoing edges for wrapped node. | |
| NodeID | index | 
| ID of wrapped node. | |
Updatable node class.
The node itself as well as its edges can be modified.
Definition at line 374 of file linkgraph.h.
| 
 | inline | 
Constructor.
| lg | LinkGraph to get the node from. | 
| node | ID of the node. | 
Definition at line 381 of file linkgraph.h.
| void LinkGraph::Node::AddEdge | ( | NodeID | to, | 
| uint | capacity, | ||
| uint | usage, | ||
| 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 191 of file linkgraph.cpp.
References _date, LinkGraph::BaseEdge::capacity, LinkGraph::edges, EUM_RESTRICTED, EUM_UNRESTRICTED, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_link_graph_pool >::index, LinkGraph::BaseEdge::last_restricted_update, LinkGraph::BaseEdge::last_unrestricted_update, LinkGraph::BaseEdge::next_edge, and LinkGraph::BaseEdge::usage.
| 
 | inline | 
Get an iterator pointing to the start of the edges array.
Definition at line 397 of file linkgraph.h.
References LinkGraph::NodeWrapper< BaseNode, BaseEdge >::edges, and LinkGraph::NodeWrapper< BaseNode, BaseEdge >::index.
Referenced by DeleteStaleLinks().
| 
 | inline | 
Get an iterator pointing beyond the end of the edges array.
Definition at line 403 of file linkgraph.h.
References LinkGraph::NodeWrapper< BaseNode, BaseEdge >::edges.
Referenced by DeleteStaleLinks().
| 
 | inline | 
Get an Edge.
This is not a reference as the wrapper objects are not actually persistent.
| to | ID of end node of edge. | 
Definition at line 391 of file linkgraph.h.
References LinkGraph::NodeWrapper< BaseNode, BaseEdge >::edges.
| void LinkGraph::Node::RemoveEdge | ( | NodeID | to | ) | 
Remove an outgoing edge from this node.
| to | ID of destination node. | 
Definition at line 226 of file linkgraph.cpp.
References LinkGraph::BaseEdge::capacity, LinkGraph::edges, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_link_graph_pool >::index, INVALID_DATE, LinkGraph::BaseEdge::last_restricted_update, LinkGraph::BaseEdge::last_unrestricted_update, LinkGraph::BaseEdge::next_edge, and LinkGraph::BaseEdge::usage.
Referenced by DeleteStaleLinks().
| 
 | inline | 
Set the node's demand.
| demand | New demand for the node. | 
Definition at line 428 of file linkgraph.h.
References LinkGraph::BaseNode::demand, and LinkGraph::NodeWrapper< BaseNode, BaseEdge >::node.
| void LinkGraph::Node::UpdateEdge | ( | NodeID | to, | 
| uint | capacity, | ||
| uint | usage, | ||
| 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 211 of file linkgraph.cpp.
References LinkGraph::edges.
| 
 | inline | 
Update the node's location on the map.
| xy | New location. | 
Definition at line 419 of file linkgraph.h.
References LinkGraph::NodeWrapper< BaseNode, BaseEdge >::node, and LinkGraph::BaseNode::xy.
| 
 | inline | 
Update the node's supply and set last_update to the current date.
| supply | Supply to be added. | 
Definition at line 409 of file linkgraph.h.
References _date, LinkGraph::BaseNode::last_update, LinkGraph::NodeWrapper< BaseNode, BaseEdge >::node, and LinkGraph::BaseNode::supply.
 1.8.1.2
 1.8.1.2