Calculate the demands. More...
#include <demands.h>
Public Member Functions | |
DemandCalculator (LinkGraphComponent *graph) | |
Create the DemandCalculator and immediately do the calculation. | |
Private Member Functions | |
template<class Tscaler > | |
void | CalcDemand (LinkGraphComponent *graph, Tscaler scaler) |
Do the actual demand calculation, called from constructor. | |
Private Attributes | |
int32 | max_distance |
Maximum distance possible on the map. | |
int32 | mod_dist |
Distance modifier, determines how much demands decrease with distance. | |
int32 | accuracy |
Accuracy of the calculation. |
Calculate the demands.
This class has a state, but is recreated for each call to of DemandHandler::Run.
Definition at line 128 of file demands.h.
DemandCalculator::DemandCalculator | ( | LinkGraphComponent * | graph | ) |
Create the DemandCalculator and immediately do the calculation.
graph | Component to calculate the demands for. |
Definition at line 160 of file demands.cpp.
References LinkGraphSettings::accuracy, accuracy, LinkGraphSettings::demand_distance, LinkGraphSettings::demand_size, DT_ASYMMETRIC, DT_SYMMETRIC, LinkGraphComponent::GetCargo(), LinkGraphComponent::GetSettings(), and mod_dist.
void DemandCalculator::CalcDemand | ( | LinkGraphComponent * | graph, | |
Tscaler | scaler | |||
) | [inline, private] |
Do the actual demand calculation, called from constructor.
graph | Component to calculate the demands for. |
Definition at line 58 of file demands.cpp.
References accuracy, Node::demand, Edge::distance, LinkGraphComponent::GetEdge(), LinkGraphComponent::GetNode(), LinkGraphComponent::GetSize(), max_distance, min(), mod_dist, Node::supply, and Node::undelivered_supply.