hydrobricks
Loading...
Searching...
No Matches
ProcessInfiltration.h
1#ifndef HYDROBRICKS_PROCESS_INFILTRATION_H
2#define HYDROBRICKS_PROCESS_INFILTRATION_H
3
4#include "Forcing.h"
5#include "Includes.h"
6#include "Process.h"
7
9 public:
10 explicit ProcessInfiltration(WaterContainer* container);
11
12 ~ProcessInfiltration() override = default;
13
17 [[nodiscard]] bool IsValid() const override;
18
22 [[nodiscard]] bool NeedsTargetBrickLinking() const override {
23 return true;
24 }
25
29 [[nodiscard]] int GetConnectionCount() const override;
30
34 double* GetValuePointer(std::string_view name) override;
35
39 void SetTargetBrick(Brick* targetBrick) override {
40 _targetBrick = targetBrick;
41 }
42
43 protected:
44 Brick* _targetBrick; // non-owning reference
45
51 [[nodiscard]] double GetTargetStock() const;
52
58 [[nodiscard]] double GetTargetCapacity() const;
59
65 [[nodiscard]] double GetTargetFillingRatio() const;
66};
67
68#endif // HYDROBRICKS_PROCESS_INFILTRATION_H
Definition Brick.h:24
Definition ProcessInfiltration.h:8
double GetTargetCapacity() const
Definition ProcessInfiltration.cpp:39
double GetTargetFillingRatio() const
Definition ProcessInfiltration.cpp:43
double GetTargetStock() const
Definition ProcessInfiltration.cpp:35
void SetTargetBrick(Brick *targetBrick) override
Definition ProcessInfiltration.h:39
double * GetValuePointer(std::string_view name) override
Definition ProcessInfiltration.cpp:27
bool IsValid() const override
Definition ProcessInfiltration.cpp:10
int GetConnectionCount() const override
Definition ProcessInfiltration.cpp:23
bool NeedsTargetBrickLinking() const override
Definition ProcessInfiltration.h:22
Definition Process.h:16
Definition WaterContainer.h:9