OpenTTD: DemandCalculator Class Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Private Member Functions | Private Attributes
DemandCalculator Class Reference

Calculate the demands. More...

`#include <demands.h>`

## Public Member Functions
| DemandCalculator (LinkGraphJob &job)
| Create the DemandCalculator and immediately do the calculation.

## Private Member Functions
template<class Tscaler >
void | CalcDemand (LinkGraphJob &job, 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.

## Detailed Description

Calculate the demands.

This class has a state, but is recreated for each call to of DemandHandler::Run.

Definition at line 12 of file demands.h.

## Constructor & Destructor Documentation

DemandCalculator::DemandCalculator | ( | LinkGraphJob & | job | ) |

Create the DemandCalculator and immediately do the calculation.

Parameters

  job | Job to calculate the demands for.

Definition at line 259 of file demands.cpp.

References accuracy, LinkGraphSettings::accuracy, LinkGraphJob::Cargo(), LinkGraphSettings::demand_distance, LinkGraphSettings::demand_size, DT_ASYMMETRIC, DT_SYMMETRIC, mod_dist, and LinkGraphJob::Settings().

## Member Function Documentation

template<class Tscaler >

void DemandCalculator::CalcDemand | ( | LinkGraphJob & | job,
|  | Tscaler | scaler
| ) |  |
| private

Do the actual demand calculation, called from constructor.

Parameters

  job | Job to calculate the demands for.

Template Parameters

  Tscaler | Scaler to be used for scaling demands.

Definition at line 165 of file demands.cpp.

References accuracy, DistanceMaxPlusManhattan(), max_distance, min(), mod_dist, and LinkGraphJob::Size().

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

- src/linkgraph/demands.h
- src/linkgraph/demands.cpp