hydrobricks
Loading...
Searching...
No Matches
ActionsManager.h
1#ifndef HYDROBRICKS_ACTION_UPDATER_H
2#define HYDROBRICKS_ACTION_UPDATER_H
3
4#include "HydroUnit.h"
5#include "Includes.h"
6
7class SubBasin;
8class ModelHydro;
9class Action;
10
11class ActionsManager : public wxObject {
12 public:
14
15 ~ActionsManager() override = default;
16
20 void Reset();
21
28 return _model;
29 }
30
36 void SetModel(ModelHydro* model);
37
44 bool AddAction(Action* action);
45
51 int GetActionCount() const;
52
59
65 void DateUpdate(double date);
66
72 SubBasin* GetSubBasin() const;
73
80 HydroUnit* GetHydroUnitById(int id) const;
81
87 const vecDouble& GetSporadicActionDates() const {
88 return _sporadicActionDates;
89 }
90
97 [[nodiscard]] bool IsValid() const;
98
105 void Validate() const;
106
107 protected:
108 ModelHydro* _model; // non-owning reference
109 int _cursorManager;
110 vector<Action*> _actions;
111 vecDouble _sporadicActionDates;
112 vecInt _sporadicActionIndices;
113 vecInt _recursiveActionIndices;
114
115 private:
116};
117
118#endif // HYDROBRICKS_ACTION_UPDATER_H
Definition Action.h:7
Definition ActionsManager.h:11
SubBasin * GetSubBasin() const
Definition ActionsManager.cpp:106
void SetModel(ModelHydro *model)
Definition ActionsManager.cpp:12
bool AddAction(Action *action)
Definition ActionsManager.cpp:24
void DateUpdate(double date)
Definition ActionsManager.cpp:80
void Reset()
Definition ActionsManager.cpp:16
void Validate() const
Definition ActionsManager.cpp:124
const vecDouble & GetSporadicActionDates() const
Definition ActionsManager.h:87
int GetActionCount() const
Definition ActionsManager.cpp:68
HydroUnit * GetHydroUnitById(int id) const
Definition ActionsManager.cpp:110
ModelHydro * GetModel() const
Definition ActionsManager.h:27
int GetSporadicActionItemCount() const
Definition ActionsManager.cpp:72
bool IsValid() const
Definition ActionsManager.cpp:114
Definition HydroUnit.h:18
Definition ModelHydro.h:14
Definition SubBasin.h:14