Files
@ r27487:4d1c2a7bde00
Branch filter:
Location: cpp/openttd-patchpack/source/src/linkgraph/demands.h - annotation
r27487:4d1c2a7bde00
1.1 KiB
text/x-c
Codechange: remove queue_wrap / last_position from mouse movement
No backend uses it anymore, so also no longer any need to support
it.
No backend uses it anymore, so also no longer any need to support
it.
r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r23838:bfeaabaa7b1d r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r23023:7b8669afd1db r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f r27372:06d384d76bd2 r20342:25da7cb85f9f r20342:25da7cb85f9f r20342:25da7cb85f9f | /** @file demands.h Declaration of demand calculating link graph handler. */
#ifndef DEMANDS_H
#define DEMANDS_H
#include "linkgraphjob_base.h"
/**
* Calculate the demands. This class has a state, but is recreated for each
* call to of DemandHandler::Run.
*/
class DemandCalculator {
public:
DemandCalculator(LinkGraphJob &job);
private:
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.
template<class Tscaler>
void CalcDemand(LinkGraphJob &job, Tscaler scaler);
};
/**
* Stateless, thread safe demand handler. Doesn't do anything but call DemandCalculator.
*/
class DemandHandler : public ComponentHandler {
public:
/**
* Call the demand calculator on the given component.
* @param job Component to calculate the demands for.
*/
virtual void Run(LinkGraphJob &job) const { DemandCalculator c(job); }
/**
* Virtual destructor has to be defined because of virtual Run().
*/
virtual ~DemandHandler() = default;
};
#endif /* DEMANDS_H */
|