hydrobricks
Loading...
Searching...
No Matches
Flux Class Referenceabstract
Inheritance diagram for Flux:
FluxForcing FluxSimple FluxToAtmosphere FluxToBrick FluxToOutlet FluxToBrickInstantaneous

Public Member Functions

virtual bool IsOk ()=0
 
virtual void Reset ()
 
virtual double GetAmount ()=0
 
virtual void UpdateFlux (double amount)
 
void LinkChangeRate (double *rate)
 
double * GetChangeRatePointer ()
 
double * GetAmountPointer ()
 
virtual bool IsForcing ()
 
virtual bool IsInstantaneous ()
 
void SetAsStatic ()
 
bool IsStatic () const
 
bool NeedsWeighting () const
 
void NeedsWeighting (bool value)
 
void SetFractionUnitArea (double value)
 
void SetFractionLandCover (double value)
 
void UpdateFractionTotal ()
 
ContentType GetType () const
 
void SetType (const ContentType type)
 

Protected Attributes

double _amount {}
 
double * _changeRate {}
 
bool _static {}
 
bool _needsWeighting {}
 
double _fractionUnitArea {1.0}
 
double _fractionLandCover {1.0}
 
double _fractionTotal {1.0}
 
Modifier_modifier {}
 
ContentType _type {ContentType::Water}
 

Member Function Documentation

◆ GetAmount()

virtual double Flux::GetAmount ( )
pure virtual

Get the amount of water outgoing the flux.

Returns
the amount of water outgoing the flux

Implemented in FluxForcing, FluxSimple, FluxToAtmosphere, FluxToBrick, FluxToBrickInstantaneous, and FluxToOutlet.

◆ GetAmountPointer()

double * Flux::GetAmountPointer ( )
inline

Get the amount of water outgoing the flux.

Returns
the amount of water outgoing the flux

◆ GetChangeRatePointer()

double * Flux::GetChangeRatePointer ( )
inline

Get the change rate value pointer.

Returns
the change rate value pointer.

◆ GetType()

ContentType Flux::GetType ( ) const
inline

Get the flux type.

Returns
the flux type.

◆ IsForcing()

virtual bool Flux::IsForcing ( )
inlinevirtual

Check if the flux is a forcing.

Returns
true if the flux is a forcing.

Reimplemented in FluxForcing.

◆ IsInstantaneous()

virtual bool Flux::IsInstantaneous ( )
inlinevirtual

Check if the flux is instantaneous.

Returns
true if the flux is instantaneous.

Reimplemented in FluxToBrickInstantaneous.

◆ IsOk()

virtual bool Flux::IsOk ( )
nodiscardpure virtual

Check that everything is correctly defined.

Returns
true is everything is correctly defined.

Implemented in FluxForcing, FluxSimple, FluxToAtmosphere, FluxToBrick, FluxToBrickInstantaneous, and FluxToOutlet.

◆ IsStatic()

bool Flux::IsStatic ( ) const
inlinenodiscard

Check if the flux is static.

Returns
true if the flux is static.

◆ LinkChangeRate()

void Flux::LinkChangeRate ( double * rate)
inline

Link the flux to a change rate value pointer.

Parameters
ratethe change rate value pointer.

◆ NeedsWeighting() [1/2]

bool Flux::NeedsWeighting ( ) const
inlinenodiscard

Check if the flux needs weighting.

Returns
true if the flux needs weighting.

◆ NeedsWeighting() [2/2]

void Flux::NeedsWeighting ( bool value)
inline

Set the flux as needing weighting.

Parameters
valuetrue if the flux needs weighting.

◆ Reset()

void Flux::Reset ( )
virtual

Reset the flux to its initial state.

◆ SetAsStatic()

void Flux::SetAsStatic ( )
inline

Set the flux as static.

◆ SetFractionLandCover()

void Flux::SetFractionLandCover ( double value)
inline

Set the fraction of the land cover.

Parameters
valuethe fraction of the land cover.

◆ SetFractionUnitArea()

void Flux::SetFractionUnitArea ( double value)
inline

Set the fraction of the unit area.

Parameters
valuethe fraction of the unit area.

◆ SetType()

void Flux::SetType ( const ContentType type)
inline

Set the flux type.

Parameters
typethe flux type.

◆ UpdateFlux()

void Flux::UpdateFlux ( double amount)
virtual

Set the water amount of the flux.

Parameters
amountthe water amount of the flux.

Reimplemented in FluxSimple, FluxToBrick, and FluxToBrickInstantaneous.

◆ UpdateFractionTotal()

void Flux::UpdateFractionTotal ( )
inline

Update the fraction total.


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