![]() |
HydroCouple
1.0.0
Description of the HydroCouple Component-Based Model Coupling Interface Definitions
|
An output exchange item that can deliver values from an IModelComponent. More...
#include <hydrocouple.h>
Public Member Functions | |||
virtual | ~IOutput () | ||
virtual QList< IInput * > | consumers () const =0 | ||
Input items that will consume the values, by calling the GetValues() method. More... | |||
virtual void | addConsumer (IInput *consumer)=0 | ||
Add a consumer to this output item. Every input item that wants to call the IValueSet::getValue() method, needs to add itself as a consumer first. More... | |||
virtual bool | removeConsumer (IInput *consumer)=0 | ||
Remove a consumer. More... | |||
virtual QList< IAdaptedOutput * > | adaptedOutputs () const =0 | ||
The adaptedOutputs that have this current output item as adaptee. More... | |||
virtual void | addAdaptedOutput (IAdaptedOutput *adaptedOutput)=0 | ||
Add a IAdaptedOutput to this output item. More... | |||
virtual bool | removeAdaptedOutput (IAdaptedOutput *adaptedOutput)=0 | ||
Removes an IAdaptedOutput. More... | |||
virtual void | updateValues (IInput *querySpecifier)=0 | ||
Provides the values matching the value definition specified by the
. Extensions can overwrite this base version to include more details in the query, e.g. time and space. More... | |||
![]() | |||
virtual | ~IExchangeItem () | ||
![]() | |||
virtual | ~IComponentDataItem () | ||
virtual IModelComponent * | modelComponent () const =0 | ||
Gets the owner IModelComponent of this IComponentItem.For an IOutput component item this is the component responsible for providing the content of the IOutput. More... | |||
virtual QList< IDimension * > | dimensions () const =0 | ||
provides purely descriptive information of the dimensions associated with this IComponentItem More... | |||
virtual int | dimensionLength (const std::vector< int > &dimensionIndexes) const =0 | ||
dimensionLength returns the length of the dimension specified by the given dimension indexes. To get the size of the first dimension, use a null integer array as input argument. Length of indices must be a least one smaller than the numDimensions() More... | |||
virtual IValueDefinition * | valueDefinition () const =0 | ||
IValueDefinition for this IValueSet defines the variable type associated with this object. More... | |||
virtual void | getValue (const std::vector< int > &dimensionIndexes, void *data) const =0 | ||
Gets a multi-dimensional array of value for given dimension indexes. IndexArray = x + y * InSizeX + z * InSizeX * InSizeY etc;. More... | |||
virtual void | setValue (const std::vector< int > &dimensionIndexes, const void *data)=0 | ||
Sets a multi-dimensional array of values for given dimension indexes. More... | |||
![]() | |||
virtual | ~IIdentity () | ||
virtual QString | id () const =0 | ||
Gets a unique identifier for the entity. More... | |||
![]() | |||
virtual | ~IDescription () | ||
virtual QString | caption () const =0 | ||
Gets caption for the entity. More... | |||
virtual void | setCaption (const QString &caption)=0 | ||
Sets caption for the entity. More... | |||
virtual QString | description () const =0 | ||
Gets additional descriptive information for the entity. More... | |||
virtual void | setDescription (const QString &description)=0 | ||
Gets additional descriptive information for the entity. More... | |||
![]() | |||
virtual | ~IPropertyChanged () | ||
Additional Inherited Members | |
![]() | |
virtual void | itemChanged (const QSharedPointer< IExchangeItemChangeEventArgs > &statusChangedEvent)=0 |
The componentItemChanged event is fired when the content of an IComponentItem has changed. More... | |
![]() | |
virtual void | propertyChanged (const QString &propertyName)=0 |
IPropertyChanged::propertyChanged() is called to emit signal/event when property of child class changes. More... | |
An output exchange item that can deliver values from an IModelComponent.
If an output does not provide the data in the way a consumer would like to have it the output can be adapted by an IAdaptedOutput, which can transform the data according to the consumer's wishes. E.g. by performing interpolation in time, spatial aggregation, etc.).
|
inlinevirtual |
|
pure virtual |
The adaptedOutputs that have this current output item as adaptee.
As soon as the output item's values have been updated, for each adaptedOutput its IAdaptedOutput.refresh() method must be called.
The list is readonly. Add and remov from the list by using addAdaptedOutput() and removeAdaptedOutput().
|
pure virtual |
Add a IAdaptedOutput to this output item.
Every adaptedOutput that uses data from this output item, needs to add itself as a consumer first.
If a adaptedOutput is added that can not be handled, or that is incompatible with the already added adaptedOutputs, an exception will be thrown
adaptedOutput | is consumer that has to be added |
|
pure virtual |
Add a consumer to this output item. Every input item that wants to call the IValueSet::getValue() method, needs to add itself as a consumer first.
If a consumer is added that can not be handled, or that is incompatible with the already added consumers, an exception will be thrown.
The addConsumer() method must and will automatically set the consumer's provider (see IInput.provider() )
consumer | that has to be added |
|
pure virtual |
Input items that will consume the values, by calling the GetValues() method.
Every input item that will call this method, needs to call the addConsumer() method first. If the input item is not interested any longer in calling the IValueSet::getValue(), it should remove itself by calling the removeConsumer() method. The list is readonly. Add and remove from the list by using addConsumer() and removeConsumer(). Please be aware that the "unadulterated" values in the output item, provided by the read only Values property, may be called anyway, even if there are no values available.
|
pure virtual |
Removes an IAdaptedOutput.
If a adaptedOutput is not interested any longer in this output item data, it should remove itself by calling removeConsumer().
adaptedOutput | is a consumer that has to be removed. |
|
pure virtual |
Remove a consumer.
If an input item is not interested any longer in calling the IValueSet::getValue() method, it should remove itself by calling RemoveConsumer.
consumer | that has to be removed |
|
pure virtual |
Provides the values matching the value definition specified by the
querySpecifier |
. Extensions can overwrite this base version to include more details in the query, e.g. time and space.
One might expect to be the querySpecifier to be of the type IInput, because every input item that calls the getValues method needs to add itself as a consumer first.
However, the IExchangeItem suffices to specify what is required. Therefore, to have the flexibility to loosen the "always register as consumer" approach, it is chosen to provide an IExchangeItem as an argument.
querySpecifier |