hydrobricks
Loading...
Searching...
No Matches
TimeSeries.h
1#ifndef HYDROBRICKS_TIME_SERIES_H
2#define HYDROBRICKS_TIME_SERIES_H
3
4#include "Includes.h"
5#include "SettingsBasin.h"
6#include "TimeSeriesData.h"
7
8class TimeSeries : public wxObject {
9 public:
10 explicit TimeSeries(VariableType type);
11
12 ~TimeSeries() override = default;
13
14 static bool Parse(const string& path, vector<TimeSeries*>& vecTimeSeries);
15
16 static TimeSeries* Create(const string& varName, const axd& time, const axi& ids, const axxd& data);
17
18 virtual bool SetCursorToDate(double date) = 0;
19
20 virtual bool AdvanceOneTimeStep() = 0;
21
22 virtual bool IsDistributed() = 0;
23
24 virtual double GetStart() = 0;
25
26 virtual double GetEnd() = 0;
27
28 virtual double GetTotal(const SettingsBasin* basinSettings) = 0;
29
30 virtual TimeSeriesData* GetDataPointer(int unitId) = 0;
31
32 VariableType GetVariableType() {
33 return m_type;
34 }
35
36 protected:
37 VariableType m_type;
38
39 private:
40 static void ExtractTimeStep(double timeStepData, int& timeStep, TimeUnit& timeUnit);
41
42 static VariableType MatchVariableType(const string& varName);
43};
44
45#endif // HYDROBRICKS_TIME_SERIES_H
Definition SettingsBasin.h:39
Definition TimeSeriesData.h:6
Definition TimeSeries.h:8