23#ifndef HYDROCOUPLETEMPORAL_H
24#define HYDROCOUPLETEMPORAL_H
158 int timeDimensionIndex,
159 const initializer_list<int>& dimensionIndexes = {})
const = 0;
172 int timeDimensionIndex,
173 const initializer_list<int> &dimensionIndexes = {},
174 int timeDimensionIndexLength = 1,
175 const initializer_list<int> &dimensionLengths = {})
const = 0;
185 int timeDimensionIndex,
186 const initializer_list<int> &dimensionIndexes = {}) = 0;
199 int timeDimensionIndex,
200 const initializer_list<int> &dimensionIndexes = {},
201 int timeDimensionIndexLength = 1,
202 const initializer_list<int> &dimensionLengths = {}) = 0;
209 class ITimeSeriesComponentDataItem :
public virtual IComponentDataItem
234 const vector<int> &dimensionIndexes = {}
248 const initializer_list<int> &dimensionIndexes = {},
249 int timeIndexLength = 1,
250 const initializer_list<int> &dimensionLengths = {})
const = 0;
261 const initializer_list<int> &dimensionIndexes = {}) = 0;
275 const initializer_list<int> &dimensionIndexes = {},
276 int timeIndexLength = 1,
277 const initializer_list<int> &dimensionLengths = {}) = 0;
327 const initializer_list<int> &dimensionIndexes = {})
const = 0;
343 const initializer_list<int> &dimensionIndexes = {},
344 int timeIndexLength = 1,
345 int idIndexLength = 1,
346 const initializer_list<int> &dimensionLengths = {})
const = 0;
359 const initializer_list<int> &dimensionIndexes = {}) = 0;
376 const initializer_list<int> &dimensionIndexes = {},
377 int timeIndexLength = 1,
378 int idIndexLength = 1,
379 const vector<int> &dimensionLengths = {}) = 0;
IComponentItem is a fundamental unit of data for a component.
Definition hydrocouple.h:1316
virtual void setValue(const hydrocouple_variant &data, const initializer_list< int > &dimensionIndexes)=0
Sets a multi-dimensional array of values for given dimension indexes.
virtual void getValue(hydrocouple_variant &data, const initializer_list< int > &dimensionIndexes) const =0
Gets a multi-dimensional array of values for given dimension indexes and strides along each dimension...
virtual void getValues(hydrocouple_variant *data, const initializer_list< int > &dimensionIndexes, const initializer_list< int > &dimensionLengths={}) const =0
Gets a multi-dimensional array of values for given dimension indexes and strides along each dimension...
virtual void setValues(const hydrocouple_variant *data, const initializer_list< int > &dimensionIndexes, const initializer_list< int > &dimensionLengths={})=0
Sets a multi-dimensional array of values for given dimension indexes and strides along each dimension...
IDimension provides the properties of the dimensions of a variable.
Definition hydrocouple.h:941
IModelComponent interface is the core interface in the HydroCouple standard defining a model componen...
Definition hydrocouple.h:390
IPropertyChanged interface is used to emit signal/event when a property of an object changes.
Definition hydrocouple.h:167
IDateTime interface based on a Julian day.
Definition hydrocoupletemporal.h:39
virtual double julianDay() const =0
Date and time as a julian day value.
virtual double modifiedJulianDay() const =0
Modified Julian day value.
virtual double serialDate() const =0
Serial date number.
virtual ~IDateTime()=default
The ITimeIdBasedComponentDataItem class.
Definition hydrocoupletemporal.h:285
virtual IDimension * identifierDimension() const =0
idDimensions associated with this dimension.
virtual vector< string > identifiers() const =0
identifiers associated with this dimension.
virtual ~ITimeIdBasedComponentDataItem()=default
~ITimeIdBasedComponentDataItem destructor.
virtual void setValue(const hydrocouple_variant &data, int timeIndex, int idIndex, const initializer_list< int > &dimensionIndexes={})=0
Sets a single value for given id dimension index.
virtual void getValue(hydrocouple_variant &data, int timeIndex, int idIndex, const initializer_list< int > &dimensionIndexes={}) const =0
Gets a single value for given id dimension index.
virtual void getValues(hydrocouple_variant *data, int timeIndex, int idIndex, const initializer_list< int > &dimensionIndexes={}, int timeIndexLength=1, int idIndexLength=1, const initializer_list< int > &dimensionLengths={}) const =0
Gets a multi-dimensional array of values for given id dimension index and size for a hyperslab.
virtual void setValues(const hydrocouple_variant *data, int timeIndex, int idIndex, const initializer_list< int > &dimensionIndexes={}, int timeIndexLength=1, int idIndexLength=1, const vector< int > &dimensionLengths={})=0
Sets a multi-dimensional array of values for given id dimension index and size for a hyperslab.
The ITimeModelComponent class for time marching models.
Definition hydrocoupletemporal.h:85
virtual ITimeSpan * simulationPeriod() const =0
simulationPeriod of the model.
virtual IDateTime * currentDateTime() const =0
currentDateTime
virtual ~ITimeModelComponent()=default
~ITimeModelComponent
ITimeComponentItem is an IComponentItem with a temporal attribute. This class cannot be directly inst...
Definition hydrocoupletemporal.h:113
virtual ~ITimeSeriesComponentDataItem()=default
~ITimeComponentItem destructor.
virtual void getValues(hydrocouple_variant *data, int timeIndex, const initializer_list< int > &dimensionIndexes={}, int timeIndexLength=1, const initializer_list< int > &dimensionLengths={}) const =0
Gets a multi-dimensional array of values for given time dimension index and size for a hyperslab.
virtual void setValues(const hydrocouple_variant *data, int timeIndex, const initializer_list< int > &dimensionIndexes={}, int timeIndexLength=1, const initializer_list< int > &dimensionLengths={})=0
Sets a multi-dimensional array of values for given time dimension index and size for a hyperslab.
virtual void getValues(hydrocouple_variant *data, int timeDimensionIndex, const initializer_list< int > &dimensionIndexes={}, int timeDimensionIndexLength=1, const initializer_list< int > &dimensionLengths={}) const =0
Gets a multi-dimensional array of values for given time dimension index and size for a hyperslab.
virtual void getValue(hydrocouple_variant &data, int timeDimensionIndex, const initializer_list< int > &dimensionIndexes={}) const =0
Gets a single value for given time dimension index.
virtual void setValue(const hydrocouple_variant &data, int timeIndex, const initializer_list< int > &dimensionIndexes={})=0
Sets a single value for given time dimension index.
virtual const IDateTime * time(int timeIndex) const =0
time
virtual void setValues(const hydrocouple_variant *data, int timeDimensionIndex, const initializer_list< int > &dimensionIndexes={}, int timeDimensionIndexLength=1, const initializer_list< int > &dimensionLengths={})=0
Sets a multi-dimensional array of values for given time dimension index and size for a hyperslab.
virtual IDimension * timeDimension() const =0
IDimension of the times.
virtual int timeCount() const =0
timeCount
virtual void getValue(hydrocouple_variant &data, int timeIndex, const vector< int > &dimensionIndexes={}) const =0
Gets a single value for given time dimension index.
virtual void setValue(const hydrocouple_variant &data, int timeDimensionIndex, const initializer_list< int > &dimensionIndexes={})=0
Sets a single value for given time dimension index.
virtual ITimeSpan * timeSpan() const =0
ITimeSpan associated with this dimension.
ITimeSpan specifies a time duration.
Definition hydrocoupletemporal.h:66
virtual double duration() const =0
Duration of the timespan in days.
virtual ~ITimeSpan()=default
~ITimeSpan destructor.
HydroCouple namespace contains the core interface specifications for the HydroCouple component-based ...
Definition hydrocouple.h:60
variant< bool, char, short, int, long, unsigned char, unsigned short, unsigned int, unsigned long, float, double, long double, string, void * > hydrocouple_variant
hydrocouple_variant is a variant type that can be used to store the core value types values of differ...
Definition hydrocouple.h:96