hydrobricks
Loading...
Searching...
No Matches
Snowpack.h
1#ifndef HYDROBRICKS_SNOWPACK_H
2#define HYDROBRICKS_SNOWPACK_H
3
4#include "Includes.h"
5#include "SnowContainer.h"
6#include "SurfaceComponent.h"
7
8class Snowpack : public SurfaceComponent {
9 public:
10 Snowpack();
11
12 void Reset() override;
13
14 void SaveAsInitialState() override;
15
19 void SetParameters(const BrickSettings& brickSettings) override;
20
21 void AttachFluxIn(Flux* flux) override;
22
23 bool IsOk() override;
24
25 WaterContainer* GetSnowContainer();
26
27 bool IsSnowpack() override {
28 return true;
29 }
30
31 void Finalize() override;
32
33 void UpdateContentFromInputs() override;
34
35 void ApplyConstraints(double timeStep) override;
36
37 vecDoublePt GetDynamicContentChanges() override;
38
39 double* GetValuePointer(const string& name) override;
40
41 bool HasSnow();
42
43 protected:
44 SnowContainer* m_snow;
45
46 private:
47};
48
49#endif // HYDROBRICKS_SNOWPACK_H
Definition Flux.h:8
Definition SnowContainer.h:9
Definition Snowpack.h:8
void SetParameters(const BrickSettings &brickSettings) override
Definition Snowpack.cpp:19
void AttachFluxIn(Flux *flux) override
Definition Snowpack.cpp:23
bool IsOk() override
Definition Snowpack.cpp:34
vecDoublePt GetDynamicContentChanges() override
Definition Snowpack.cpp:60
Definition SurfaceComponent.h:10
Definition WaterContainer.h:9
Definition SettingsModel.h:45