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
20 static bool Parse(const string& path, vector<TimeSeries*>& vecTimeSeries);
21
31 static TimeSeries* Create(const string& varName, const axd& time, const axi& ids, const axxd& data);
32
39 virtual bool SetCursorToDate(double date) = 0;
40
46 virtual bool AdvanceOneTimeStep() = 0;
47
53 virtual bool IsDistributed() = 0;
54
60 virtual double GetStart() = 0;
61
67 virtual double GetEnd() = 0;
68
75 virtual double GetTotal(const SettingsBasin* basinSettings) = 0;
76
83 virtual TimeSeriesData* GetDataPointer(int unitId) = 0;
84
90 VariableType GetVariableType() {
91 return m_type;
92 }
93
94 protected:
95 VariableType m_type;
96
97 private:
105 static void ExtractTimeStep(double timeStepData, int& timeStep, TimeUnit& timeUnit);
106
113 static VariableType MatchVariableType(const string& varName);
114};
115
116#endif // HYDROBRICKS_TIME_SERIES_H
Definition SettingsBasin.h:39
Definition TimeSeriesData.h:6
Definition TimeSeries.h:8
virtual double GetEnd()=0
static bool Parse(const string &path, vector< TimeSeries * > &vecTimeSeries)
Definition TimeSeries.cpp:10
virtual bool IsDistributed()=0
static TimeSeries * Create(const string &varName, const axd &time, const axi &ids, const axxd &data)
Definition TimeSeries.cpp:91
virtual double GetTotal(const SettingsBasin *basinSettings)=0
virtual bool SetCursorToDate(double date)=0
VariableType GetVariableType()
Definition TimeSeries.h:90
virtual double GetStart()=0
virtual TimeSeriesData * GetDataPointer(int unitId)=0
virtual bool AdvanceOneTimeStep()=0