hydrobricks
Loading...
Searching...
No Matches
TimeSeriesUniform.h
1#ifndef HYDROBRICKS_TIME_SERIES_UNIFORM_H
2#define HYDROBRICKS_TIME_SERIES_UNIFORM_H
3
4#include <memory>
5
6#include "Includes.h"
7#include "TimeSeries.h"
8
10 public:
11 TimeSeriesUniform(VariableType type);
12
13 ~TimeSeriesUniform() override;
14
20 void SetData(std::unique_ptr<TimeSeriesData> data) {
21 wxASSERT(data);
22 _data = std::move(data);
23 }
24
28 [[nodiscard]] bool SetCursorToDate(double date) override;
29
33 [[nodiscard]] bool AdvanceOneTimeStep() override;
34
38 bool IsDistributed() const override {
39 return false;
40 }
41
45 double GetStart() const override;
46
50 double GetEnd() const override;
51
55 double GetTotal(const SettingsBasin* basinSettings) override;
56
60 TimeSeriesData* GetDataPointer(int unitId) override;
61
65 [[nodiscard]] bool IsValid() const override;
66
70 void Validate() const override;
71
72 protected:
73 std::unique_ptr<TimeSeriesData> _data; // owning
74};
75
76#endif // HYDROBRICKS_TIME_SERIES_UNIFORM_H
Definition SettingsBasin.h:47
Definition TimeSeriesData.h:6
Definition TimeSeriesUniform.h:9
TimeSeriesData * GetDataPointer(int unitId) override
Definition TimeSeriesUniform.cpp:41
void Validate() const override
Definition TimeSeriesUniform.cpp:62
bool IsValid() const override
Definition TimeSeriesUniform.cpp:46
bool AdvanceOneTimeStep() override
Definition TimeSeriesUniform.cpp:18
double GetStart() const override
Definition TimeSeriesUniform.cpp:27
bool IsDistributed() const override
Definition TimeSeriesUniform.h:38
double GetTotal(const SettingsBasin *basinSettings) override
Definition TimeSeriesUniform.cpp:37
double GetEnd() const override
Definition TimeSeriesUniform.cpp:32
bool SetCursorToDate(double date) override
Definition TimeSeriesUniform.cpp:9
void SetData(std::unique_ptr< TimeSeriesData > data)
Definition TimeSeriesUniform.h:20
Definition TimeSeries.h:8