24 #ifndef _GEMA_RESULT_DATASRC_H_ 25 #define _GEMA_RESULT_DATASRC_H_ 47 : _trackId(trackId), _type(type), _alias(name), _unit(unit), _info(NULL), _id(-1), _conv(NULL) {}
57 assert(info->
type() == _type);
58 assert(info->
alias() == _alias);
60 if(_unit.name().isEmpty())
75 virtual int trackId()
const {
return _trackId; }
80 virtual int size()
const {
return _info ? _info->size() : -1; }
81 virtual int nlin()
const {
return _info ? _info->nlin() : -1; }
82 virtual int ncol()
const {
return _info ? _info->ncol() : -1; }
85 int resultId()
const {
return _id; }
111 _nResLin(0), _nResCol(0), _interp(NULL) {}
117 virtual int trackId()
const {
return _trackId; }
120 virtual QString id()
const = 0;
129 virtual bool isScalar()
const = 0;
132 virtual int dimSize()
const = 0;
147 _interpType = interpType;
148 _interpParam = interpParam;
222 virtual QString id()
const {
return _ac->info()->id(); }
231 virtual bool isScalar()
const {
return _dim >= 0 || _ac->isScalar(); }
234 virtual int dimSize()
const {
return _dim == -1 ? _ac->valueSize() : 1; }
240 virtual int nlin()
const {
return _tFunc.isValid() ?
_nResLin : (_dim == -1 ? _ac->info()->nlin() : 1); }
243 virtual int ncol()
const {
return _tFunc.isValid() ?
_nResCol : (_dim == -1 ? _ac->info()->ncol() : 1); }
246 T*
ac()
const {
return _ac; }
251 void setAc(T* newAc) {
if(_ownership)
delete _ac; _ac = newAc; _ownership =
true; }
264 template <
class Result>
267 assert(dynamic_cast<Result*>(
this));
270 list.
append(dynamic_cast<Result*>(
this));
274 for(
int i = 1, ndim = _ac->valueSize(); i < ndim; i++)
276 Result* r =
new Result(
this);
278 r->_alias = r->_alias +
QString(
"_%1").
arg(i+1);
virtual GmResultDataSrcType type() const
Returns the data src type.
Definition: gmResultDataSrc.h:310
UnitConverter * _conv
The unit converter, if necessary, from _info->unit() to _unit.
Definition: gmResultDataSrc.h:97
Implementation of the GmCellAccessor proxy class.
int _nResCol
The number of columns of the result returned by _tFunc.
Definition: gmResultDataSrc.h:203
virtual GmResultDataSrcType type() const
Returns the data src type.
Definition: gmResultDataSrc.h:350
GmResultAcDataSrcBase(const GmResultAcDataSrcBase *ptr)
A kind of "copy" constructor geting a pointer instead of a reference that copies the contents of the ...
Definition: gmResultDataSrc.h:176
A GmResultDataSrc class holding a cell value accessor.
Definition: gmResultDataSrc.h:323
A GmResultDataSrc class holding a node value accessor.
Definition: gmResultDataSrc.h:303
virtual QString description() const
Returns the data src description, when available.
Definition: gmResultDataSrc.h:225
void append(const T &value)
GmInterpolator * _interp
The configured interpolator object. Can be NULL.
Definition: gmResultDataSrc.h:204
QString _alias
The name given to the "exported" data. Always filled (might be equal to id())
Definition: gmResultDataSrc.h:195
A basic interface with the metadata common to all result data src types. This is the information that...
Definition: gmResultDataSrcInfo.h:50
QVector< GmResultGaussDataSrc * > dimensionSplit()
See dimSplit() documentation on the base calss.
Definition: gmResultDataSrc.h:353
virtual QString alias() const
Returns the data src "exported" id.
Definition: gmResultDataSrc.h:77
The GmGaussAccessor class is a proxy object to a value accesor implementing a more convenient interfa...
Definition: gmGaussAccessor.h:38
virtual Unit unit() const
Returns the unit in which the data is expressed.
Definition: gmResultDataSrc.h:78
QVariant _interpParam
Optional interpolation parameters.
Definition: gmResultDataSrc.h:200
GmResultNodeDataSrc(int trackId, GmValueAccessor *ac)
Constructor.
Definition: gmResultDataSrc.h:307
A GmResultDataSrc class holding a Gauss value accessor.
Definition: gmResultDataSrc.h:343
Node attributes + State vars.
Definition: gmResultDataSrcInfo.h:36
Interpolation should be done using the default method for the interpolator object.
Definition: gmInterpolator.h:133
int dimFilter() const
Returns the dimension filter value (-1 if there is no filter)
Definition: gmResultDataSrc.h:138
GmResultAcDataSrcBase(int trackId)
Default constructor.
Definition: gmResultDataSrc.h:109
GmResultDataSrcType
The types of data srcs stored by a rule.
Definition: gmResultDataSrcInfo.h:34
GmResultCellDataSrc(int trackId, GmCellAccessor *ac)
Constructor.
Definition: gmResultDataSrc.h:327
Interface class for accessing and setting values from an "indexable" collection of values.
Definition: gmValueAccessor.h:59
QString _alias
The data src alias (needed while _info is NULL)
Definition: gmResultDataSrc.h:93
GmResultGaussDataSrc(const GmResultAcDataSrc< GmGaussAccessor > *base)
Special "copy" (gets a pointer and not a reference) constructor accessible by dimSplit() to duplicate...
Definition: gmResultDataSrc.h:359
virtual Unit unit() const
Returns the unit in which the data is expressed.
Definition: gmResultDataSrcInfo.h:122
Interpolator class used for managing available interpolator algorithms and providing basic support fu...
Definition: gmInterpolator.h:228
bool setInfo(const GmAttributeResultDataSrcInfo *info, int id)
Sets the associated info object + its id on GmResultsData. If the src data unit is incompatible with ...
Definition: gmResultDataSrc.h:54
bool _ownership
Are we the owner of _ac? This can be false as a result of the dimSplit() operation.
Definition: gmResultDataSrc.h:299
GmResultGaussDataSrc(int trackId, GmGaussAccessor *ac)
Constructor.
Definition: gmResultDataSrc.h:347
GmResultCellDataSrc(const GmResultAcDataSrc< GmCellAccessor > *base)
Special "copy" (gets a pointer and not a reference) constructor accessible by dimSplit() to duplicate...
Definition: gmResultDataSrc.h:339
virtual int nlin() const
The number of lines in the returned result, taking into account any applied transformations or dim fi...
Definition: gmResultDataSrc.h:81
A calss storing basic information about a result data to be exported (monitored / saved),...
Definition: gmResultDataSrc.h:104
virtual QString alias() const
Returns the data src "exported" id.
Definition: gmResultDataSrc.h:123
int _trackId
The numeric id for this data src (a value between 0 and the number of data srcs in the model)
Definition: gmResultDataSrc.h:91
virtual Unit unit() const
Returns the unit in which the data is expressed.
Definition: gmResultDataSrc.h:228
QVector< Result * > dimSplit()
Returns a vector with as many data srcs as dimensions. The first one will be the original data src wi...
Definition: gmResultDataSrc.h:265
int _history
The state accessed by this data src (0 = current state, 1 = previous, etc..)
Definition: gmResultDataSrc.h:198
A result rule storing what should be exported, when it should be exported and to where it should be e...
Definition: gmResultsRule.h:54
virtual int dimSize() const
Returns the accessor valueSize() adjusted by an optional dimension filter.
Definition: gmResultDataSrc.h:234
int history() const
Returns the state accessed by this data src.
Definition: gmResultDataSrc.h:135
GmInterpolatorType
Available interpolation methods. Not every method is suitable for every kind of interpolator class....
Definition: gmInterpolator.h:62
virtual int ncol() const
The number of columns in the returned result, taking into account any applied transformations or dim ...
Definition: gmResultDataSrc.h:82
void setTransformationFunction(LuaFunction &tfunc, int nresLin, int nresCol)
Sets the transformation function along with its result dimensions.
Definition: gmResultDataSrc.h:155
void setAc(T *newAc)
Updates the stored accessor, taking ownership of it. Used by GmFileIO for replacing an accessor by an...
Definition: gmResultDataSrc.h:251
The GmCellAccessor class is a proxy object to a value accesor implementing a more convenient interfac...
Definition: gmCellAccessor.h:66
GmResultDataSrcType _type
The data src type (needed while _info is NULL)
Definition: gmResultDataSrc.h:92
virtual QString formatStr() const =0
How should dataSrc values be formated?
Implementation of the GmGaussAccessor proxy class.
void setInterpolator(GmInterpolator *interp)
Sets the configured interpolator for this data source. Takes ownership of the object.
Definition: gmResultDataSrc.h:164
GmResultAcDataSrc(int trackId, T *ac)
Constructor.
Definition: gmResultDataSrc.h:216
virtual int size() const
Returns the dimension of the data src values, taking into account any applied transformations or dim ...
Definition: gmResultDataSrc.h:237
static UnitConverter * converter(const Unit &srcUnit, const Unit &dstUnit, bool *compatible=NULL)
QVector< GmResultNodeDataSrc * > dimensionSplit()
See dimSplit() documentation on the base calss.
Definition: gmResultDataSrc.h:313
virtual QString formatStr() const
How should dataSrc values be formated?
Definition: gmResultDataSrc.h:126
virtual GmResultDataSrcType type() const
See dimSplit() documentation on the base calss.
Definition: gmResultDataSrc.h:330
T * ac() const
Returns the associated accessor.
Definition: gmResultDataSrc.h:246
GmInterpolatorType _interpType
How do we interpolate data?
Definition: gmResultDataSrc.h:199
const GmAttributeResultDataSrcInfo * _info
The metadata info. Might be NULL for a while.
Definition: gmResultDataSrc.h:95
virtual GmResultDataSrcType type() const
Returns the data src type.
Definition: gmResultDataSrcInfo.h:119
virtual ~GmResultAcDataSrcBase()
Destructor.
Definition: gmResultDataSrc.h:114
virtual int trackId() const
Returns a numeric id for this data src (a value between 0 and the number of monitored data srcs in th...
Definition: gmResultDataSrc.h:117
virtual QString alias() const =0
Returns the data src "exported" id.
A class implementing the GmResultDataSrcInfo interface, storing the metadata and id for a result data...
Definition: gmResultDataSrc.h:43
QString _formatStr
The format string for the data. Usually equal to the accessor format.
Definition: gmResultDataSrc.h:197
#define GMC_API_EXPORT
Macro for controling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_LI...
Definition: gmCoreConfig.h:35
virtual int nlin() const
The number of lines in the returned result, taking into account any applied transformations or dim fi...
Definition: gmResultDataSrc.h:240
virtual QString alias() const
Returns the data src "exported" id.
Definition: gmResultDataSrcInfo.h:120
Declaration of the GmResultDataSrcInfo interface and GmAttributeResultDataSrcInfo class.
virtual int ncol() const
The number of columns in the returned result, taking into account any applied transformations or dim ...
Definition: gmResultDataSrc.h:243
Declaration of the GmValueAccessor interface and GmValueAccessorBase class.
virtual bool isScalar() const =0
Returns true if the accessor value is a scalar value or there is a dimensional filter.
virtual int trackId() const
Returns a numeric id for this data src (a value between 0 and the number of monitored data srcs in th...
Definition: gmResultDataSrc.h:75
GmResultNodeDataSrc(const GmResultAcDataSrc< GmValueAccessor > *base)
Special "copy" (gets a pointer and not a reference) constructor accessible by dimSplit() to duplicate...
Definition: gmResultDataSrc.h:319
int _dim
A "bound" dimension for returning a scalar when the data is multidimensional (-1 for returning all va...
Definition: gmResultDataSrc.h:196
A basic class used to store meta-data information about result attributes DEFINITIONS.
Definition: gmResultDataSrcInfo.h:100
int _id
The attribute id inside GmResultData when _info is not NULL. -1 when it is.
Definition: gmResultDataSrc.h:96
Gauss attributes.
Definition: gmResultDataSrcInfo.h:38
T * _ac
The node data accessor.
Definition: gmResultDataSrc.h:298
GmResultAcDataSrc(const GmResultAcDataSrc< T > *ptr)
A private "copy" constructor geting a pointer instead of a reference that copies the contents of the ...
Definition: gmResultDataSrc.h:291
int _nResLin
The number of lines of the result returned by _tFunc.
Definition: gmResultDataSrc.h:202
Cell attributes + properties.
Definition: gmResultDataSrcInfo.h:37
virtual int dimSize() const =0
Returns the accessor valueSize() adjusted by an optional dimension filter.
void setFormatStr(const QString &formatStr)
Sets the format string.
Definition: gmResultDataSrc.h:152
virtual GmResultDataSrcType type() const
Returns the data src type.
Definition: gmResultDataSrc.h:76
virtual QString description() const
Returns the data src description, when available.
Definition: gmResultDataSrc.h:79
Unit _unit
The exported unit. Might be different from _info->unit()
Definition: gmResultDataSrc.h:94
virtual int size() const
Returns the dimension of the data src values, taking into account any applied transformations or dim ...
Definition: gmResultDataSrc.h:80
virtual ~GmResultAcDataSrc()
Destructor.
Definition: gmResultDataSrc.h:219
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const const
void setBasicData(int dim, const QString &alias, int history, GmInterpolatorType interpType, const QVariant &interpParam)
Sets the values of the given basic object attributes.
Definition: gmResultDataSrc.h:141
Aux class adding an accessor to a basic result data source.
Definition: gmResultDataSrc.h:209
int _trackId
The numeric id for this data src (a value between 0 and the number of data srcs in the model)
Definition: gmResultDataSrc.h:194
virtual bool isScalar() const
Returns true if the accessor value is a scalar value or there is a dimensional filter.
Definition: gmResultDataSrc.h:231
Declaration of the GmInterpolator and GmInterpolatorObject classes.
LuaFunction _tFunc
An optional transformation function applied over the data (filtered by _dim) before exporting.
Definition: gmResultDataSrc.h:201
virtual QString formatStr() const
How should dataSrc values be formated?
Definition: gmResultDataSrc.h:83