OpenTTD Source: FlowStatMap Class Reference

OpenTTD Source 13.2.1

Public Member Functions
FlowStatMap Class Reference

Flow descriptions by origin stations. More...

`#include <station_base.h>`

Inheritance diagram for FlowStatMap:

## Public Member Functions
uint | GetFlow () const
| Get the sum of all flows from this FlowStatMap. More...
uint | GetFlowVia (StationID via) const
| Get the sum of flows via a specific station from this FlowStatMap. More...
uint | GetFlowFrom (StationID from) const
| Get the sum of flows from a specific station from this FlowStatMap. More...
uint | GetFlowFromVia (StationID from, StationID via) const
| Get the flow from a specific station via a specific other station. More...
void | AddFlow (StationID origin, StationID via, uint amount)
| Add some flow from "origin", going via "via". More...
void | PassOnFlow (StationID origin, StationID via, uint amount)
| Pass on some flow, remembering it as invalid, for later subtraction from locally consumed flow. More...
StationIDStack | DeleteFlows (StationID via)
| Delete all flows at a station for specific cargo and destination. More...
void | RestrictFlows (StationID via)
| Restrict all flows at a station for specific cargo and destination. More...
void | ReleaseFlows (StationID via)
| Release all flows at a station for specific cargo and destination. More...
void | FinalizeLocalConsumption (StationID self)
| Subtract invalid flows from locally consumed flow. More...

## Detailed Description

Flow descriptions by origin stations.

Definition at line 149 of file station_base.h.

## Member Function Documentation

## ◆ AddFlow()

void FlowStatMap::AddFlow | ( | StationID | origin,
|  | StationID | via,
|  | uint | flow
| ) |  |

Add some flow from "origin", going via "via".

Parameters

  origin | Origin of the flow.
  via | Next hop.
  flow | Amount of flow to be added.

Definition at line 4563 of file station_cmd.cpp.

## ◆ DeleteFlows()

StationIDStack FlowStatMap::DeleteFlows | ( | StationID | via | ) |

Delete all flows at a station for specific cargo and destination.

Parameters

  via | Remote station of flows to be deleted.

Returns
  IDs of source stations for which the complete FlowStat, not only a share, has been erased.

Definition at line 4625 of file station_cmd.cpp.

References FlowStat::ChangeShare(), FlowStat::GetShares(), and SmallStack< Titem, Tindex, Tinvalid, Tgrowth_step, Tmax_size >::Push().

Referenced by LinkGraphJob::~LinkGraphJob().

## ◆ FinalizeLocalConsumption()

void FlowStatMap::FinalizeLocalConsumption | ( | StationID | self | ) |

Subtract invalid flows from locally consumed flow.

Parameters

  self | ID of own station.

Definition at line 4600 of file station_cmd.cpp.

References FlowStat::GetShare().

Referenced by FlowMapper::Run().

## ◆ GetFlow()

uint FlowStatMap::GetFlow | ( |  | ) | const

Get the sum of all flows from this FlowStatMap.

Returns
  sum of all flows.

Definition at line 4667 of file station_cmd.cpp.

## ◆ GetFlowFrom()

uint FlowStatMap::GetFlowFrom | ( | StationID | from | ) | const

Get the sum of flows from a specific station from this FlowStatMap.

Parameters

  from | Origin station to look for.

Returns
  all flows from 'from' added up.

Definition at line 4695 of file station_cmd.cpp.

## ◆ GetFlowFromVia()

uint FlowStatMap::GetFlowFromVia | ( | StationID | from,
|  | StationID | via
| ) |  | const

Get the flow from a specific station via a specific other station.

Parameters

  from | Origin station to look for.
  via | Remote station to look for.

Returns
  flow share originating at 'from' and going to 'via'.

Definition at line 4708 of file station_cmd.cpp.

## ◆ GetFlowVia()

uint FlowStatMap::GetFlowVia | ( | StationID | via | ) | const

Get the sum of flows via a specific station from this FlowStatMap.

Parameters

  via | Remote station to look for.

Returns
  all flows for 'via' added up.

Definition at line 4681 of file station_cmd.cpp.

## ◆ PassOnFlow()

void FlowStatMap::PassOnFlow | ( | StationID | origin,
|  | StationID | via,
|  | uint | flow
| ) |  |

Pass on some flow, remembering it as invalid, for later subtraction from locally consumed flow.

This is necessary because we can't have negative flows and we don't want to sort the flows before adding them up.

Parameters

  origin | Origin of the flow.
  via | Next hop.
  flow | Amount of flow to be passed.

Definition at line 4582 of file station_cmd.cpp.

References FlowStat::AppendShare().

## ◆ ReleaseFlows()

void FlowStatMap::ReleaseFlows | ( | StationID | via | ) |

Release all flows at a station for specific cargo and destination.

Parameters

  via | Remote station of flows to be released.

Definition at line 4656 of file station_cmd.cpp.

## ◆ RestrictFlows()

void FlowStatMap::RestrictFlows | ( | StationID | via | ) |

Restrict all flows at a station for specific cargo and destination.

Parameters

  via | Remote station of flows to be restricted.

Definition at line 4645 of file station_cmd.cpp.

Referenced by LinkGraphJob::~LinkGraphJob().

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

- src/station_base.h
- src/station_cmd.cpp