hydrobricks
Loading...
Searching...
No Matches
Action.h
1#ifndef HYDROBRICKS_ACTION_H
2#define HYDROBRICKS_ACTION_H
3
4#include "ActionsManager.h"
5#include "Includes.h"
6
7class Action : public wxObject {
8 public:
9 Action();
10
11 ~Action() override = default;
12
18 virtual bool Init();
19
23 virtual void Reset();
24
28 void ResetCursor();
29
36 void AddRecursiveDate(int month, int day);
37
44 virtual bool Apply(double date = 0);
45
52 virtual bool ApplyIfRecursive(const Time date);
53
60 int GetIndexForInsertion(double date);
61
72 double CheckLandCoverAreaFraction(const string& name, int id, double fraction, double unitArea, double lcArea);
73
79 void SetManager(ActionsManager* manager) {
80 _manager = manager;
81 }
82
88 vecDouble GetSporadicDates() {
89 return _sporadicDates;
90 }
91
98 return (int)_sporadicDates.size();
99 }
100
105 _cursor++;
106 }
107
113 bool IsRecursive() {
114 return _recursive;
115 }
116
117 protected:
118 ActionsManager* _manager;
119 int _cursor;
120 vecDouble _sporadicDates;
121 bool _recursive;
122 vecInt _recursiveMonths;
123 vecInt _recursiveDays;
124};
125
126#endif // HYDROBRICKS_ACTION_H
Definition Action.h:7
virtual bool Apply(double date=0)
Definition Action.cpp:38
void IncrementCursor()
Definition Action.h:104
double CheckLandCoverAreaFraction(const string &name, int id, double fraction, double unitArea, double lcArea)
Definition Action.cpp:71
void SetManager(ActionsManager *manager)
Definition Action.h:79
void ResetCursor()
Definition Action.cpp:14
int GetIndexForInsertion(double date)
Definition Action.cpp:59
virtual bool ApplyIfRecursive(const Time date)
Definition Action.cpp:42
vecDouble GetSporadicDates()
Definition Action.h:88
bool IsRecursive()
Definition Action.h:113
virtual bool Init()
Definition Action.cpp:10
void AddRecursiveDate(int month, int day)
Definition Action.cpp:18
virtual void Reset()
Definition Action.cpp:34
int GetSporadicItemsNb()
Definition Action.h:97
Definition ActionsManager.h:11
Definition Includes.h:96