OpenTTD Source  20240919-master-gdf0233f4c2
demands.h
Go to the documentation of this file.
1 
3 #ifndef DEMANDS_H
4 #define DEMANDS_H
5 
6 #include "linkgraphjob_base.h"
7 
13 public:
15 
16 private:
17  int32_t base_distance;
18  int32_t mod_dist;
19  int32_t accuracy;
20 
21  template<class Tscaler>
22  void CalcDemand(LinkGraphJob &job, Tscaler scaler);
23 };
24 
29 public:
30 
35  void Run(LinkGraphJob &job) const override { DemandCalculator c(job); }
36 
40  virtual ~DemandHandler() = default;
41 };
42 
43 #endif /* DEMANDS_H */
DemandHandler::Run
void Run(LinkGraphJob &job) const override
Call the demand calculator on the given component.
Definition: demands.h:35
DemandCalculator::DemandCalculator
DemandCalculator(LinkGraphJob &job)
Create the DemandCalculator and immediately do the calculation.
Definition: demands.cpp:262
DemandHandler
Stateless, thread safe demand handler.
Definition: demands.h:28
linkgraphjob_base.h
DemandHandler::~DemandHandler
virtual ~DemandHandler()=default
Virtual destructor has to be defined because of virtual Run().
LinkGraphJob
Class for calculation jobs to be run on link graphs.
Definition: linkgraphjob.h:29
DemandCalculator::accuracy
int32_t accuracy
Accuracy of the calculation.
Definition: demands.h:19
DemandCalculator::mod_dist
int32_t mod_dist
Distance modifier, determines how much demands decrease with distance.
Definition: demands.h:18
ComponentHandler
A handler doing "something" on a link graph component.
Definition: linkgraphschedule.h:21
DemandCalculator::CalcDemand
void CalcDemand(LinkGraphJob &job, Tscaler scaler)
Do the actual demand calculation, called from constructor.
Definition: demands.cpp:165
DemandCalculator::base_distance
int32_t base_distance
Base distance for scaling purposes.
Definition: demands.h:17
DemandCalculator
Calculate the demands.
Definition: demands.h:12