1#ifndef HYDROBRICKS_FLUX_H
2#define HYDROBRICKS_FLUX_H
4#include "../base/ContentTypes.h"
9class Flux :
public wxObject {
18 [[nodiscard]]
virtual bool IsOk() = 0;
106 return _needsWeighting;
115 _needsWeighting = value;
124 _fractionUnitArea = value;
134 _fractionLandCover = value;
142 _fractionTotal = _fractionUnitArea * _fractionLandCover;
165 double* _changeRate{};
167 bool _needsWeighting{};
168 double _fractionUnitArea{1.0};
169 double _fractionLandCover{1.0};
170 double _fractionTotal{1.0};
172 ContentType _type{ContentType::Water};
bool NeedsWeighting() const
Definition Flux.h:105
void LinkChangeRate(double *rate)
Definition Flux.h:44
virtual void Reset()
Definition Flux.cpp:16
virtual void UpdateFlux(double amount)
Definition Flux.cpp:20
double * GetChangeRatePointer()
Definition Flux.h:53
double * GetAmountPointer()
Definition Flux.h:62
void SetFractionLandCover(double value)
Definition Flux.h:133
virtual bool IsInstantaneous()
Definition Flux.h:80
ContentType GetType() const
Definition Flux.h:150
void SetType(const ContentType type)
Definition Flux.h:159
bool IsStatic() const
Definition Flux.h:96
void SetFractionUnitArea(double value)
Definition Flux.h:123
virtual bool IsForcing()
Definition Flux.h:71
void UpdateFractionTotal()
Definition Flux.h:141
void SetAsStatic()
Definition Flux.h:87
virtual double GetAmount()=0
void NeedsWeighting(bool value)
Definition Flux.h:114