24#ifndef _GEMA_RESULTS_TIME_MANAGER_H_
25#define _GEMA_RESULTS_TIME_MANAGER_H_
55 bool execRules(
const QStringList& ruleIds,
bool monitor,
bool printHeader,
bool timeManagerPrint);
57 void resetEvalAttrValue(
int attrId = -1);
60 bool ruleDone(
QString ruleId)
const;
65 void attributeUnregistered(
int id,
QString name);
83 : _ts(ts), _currentInterval(-1), _nextInterval(0.0), _nextMoment(-1) { _rules.
append(r); }
95 : _attrName(name), _id(-1) {}
98 void updateAttributeData(
int index);
99 void clearAttributeData (
int index);
100 void updateControlData (AttributeTimeSetData& tsd,
double attrValue);
A class used to host the metadata and the values for all attributes added to the results data....
Definition gmAttributeResultsManager.h:60
Class representing a category with multiple logging levels.
Definition gmLog.h:58
Auxiliar class used to store the complete set of results data for a simulation.
Definition gmResultsData.h:58
A result rule represents an action that will be executed over one or more data sets at the moments (t...
Definition gmResultsRule.h:56
Collects all the time data from several TimeSet objects, controlling the next time "moments" (time,...
Definition gmResultsTimeManager.h:48
const GmLogCategory & _logger
The logger for error messages.
Definition gmResultsTimeManager.h:103
QMap< QString, QVector< int > > _ruleAttrMap
An auxiliar map that, given a rule name, stores the indices in _data of the attributes that can spawn...
Definition gmResultsTimeManager.h:107
bool _regChanged
An auxiliar flag tracking changes on AttributeData _id values. Used for regression test printing purp...
Definition gmResultsTimeManager.h:108
GmAttributeResultsManager * _attrManager
The attribute manager used to query attribute values.
Definition gmResultsTimeManager.h:104
QVector< AttributeData > _data
Our consolidated "time" table with data per attribute / time set.
Definition gmResultsTimeManager.h:105
QMap< int, int > _attrIndexMap
Maps attribute ids to their index in _data.
Definition gmResultsTimeManager.h:106
A rule specifying the execution moments (time, iterations, etc) that a result rule should be executed...
Definition gmResultsTimeSet.h:39
#define GMC_API_EXPORT
Macro for controlling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_L...
Definition gmCoreConfig.h:35
GmResultsTimeManagerEvalMode
The evaluation mode for GmResultsTimeManager::nextEvalAttrValue() and lastEvalAttrValue() calls.
Definition gmResultsTimeManager.h:36
@ GM_RTM_MOMENT
Next and last queries will check only the moment time set definitions.
Definition gmResultsTimeManager.h:38
@ GM_RTM_INTERVAL
Next and last queries will check only the interval time set definitions.
Definition gmResultsTimeManager.h:37
@ GM_RTM_ALL
Next and last queries will check both the interval and moment time set definitions.
Definition gmResultsTimeManager.h:39
Declaration of the GmResultsTimeSet class.
void append(const T &value)
Definition gmResultsTimeManager.h:87
QString _attrName
The attribute.
Definition gmResultsTimeManager.h:88
QVector< AttributeTimeSetData > _timeSets
The time sets associated with this attribute + their respective "time" tables.
Definition gmResultsTimeManager.h:90
int _id
The attribute manager id for this attribute. -1 if not yet registered at the attribute manager.
Definition gmResultsTimeManager.h:89
Definition gmResultsTimeManager.h:71
QVector< double > _moments
The ordered, consolidated list of moments for this (attribute, time set) pair. Values in the attribut...
Definition gmResultsTimeManager.h:75
int _nextMoment
The next expected attribute value index from the moments list. -1 if none.
Definition gmResultsTimeManager.h:78
int _currentInterval
The current interval. -1 if none.
Definition gmResultsTimeManager.h:76
QVector< GmResultsRule * > _rules
The set of rules that should be executed for this (attribute, time set) pair.
Definition gmResultsTimeManager.h:73
GmResultsTimeSet * _ts
The time set.
Definition gmResultsTimeManager.h:72
QVector< GmResultsTimeSet::Interval > _intervals
The ordered, consolidated list of intervals for this (attribute, time set) pair. Values in the attrib...
Definition gmResultsTimeManager.h:74
double _nextInterval
The next expected attribute value for the current interval.
Definition gmResultsTimeManager.h:77