![]() |
HydroCouple
2.0.0
HydroCouple Interface Definitions
|
An IAdaptedOutput adds one or more data operations on top of an IOutput. More...
#include <hydrocouple.h>
Public Member Functions | |||
| virtual | ~IAdaptedOutput ()=default | ||
| IAdaptedOutput::~IAdaptedOutput is a virtual destructor. | |||
| virtual IAdaptedOutputFactory * | adaptedOutputFactory () const =0 | ||
| IAdaptedOutputFactory that generated this IAdaptedOutput. | |||
| virtual vector< IArgument * > | arguments () const =0 | ||
| IArgument represents input parameters needed for this IAdaptedOutput. | |||
| virtual void | initialize ()=0 | ||
| Lets this IAdaptedOutput initialize() itself, based on the current values specified by the arguments. | |||
| virtual IOutput * | adaptee () const =0 | ||
| IOutput that this IAdaptedOutput extracts content from. In the adapter design pattern, it is the item being adapted. | |||
| virtual void | refresh ()=0 | ||
| Requests the IAdaptedOutput to refresh itself and perform any necessary calculations. | |||
Public Member Functions inherited from HydroCouple::IOutput | |||
| virtual | ~IOutput ()=default | ||
| IOutput::~IOutput is a virtual destructor. | |||
| virtual vector< IInput * > | consumers () const =0 | ||
| Input items that will consume the values, by calling the GetValues() method. | |||
| 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. | |||
| virtual bool | removeConsumer (IInput *consumer)=0 | ||
| Remove a consumer. | |||
| virtual vector< IAdaptedOutput * > | adaptedOutputs () const =0 | ||
| The adaptedOutputs that have this current output item as adaptee. | |||
| virtual void | addAdaptedOutput (IAdaptedOutput *adaptedOutput)=0 | ||
| Add a IAdaptedOutput to this output item. | |||
| virtual bool | removeAdaptedOutput (IAdaptedOutput *adaptedOutput)=0 | ||
| Removes an IAdaptedOutput. | |||
| virtual void | updateValues (const 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. | |||
Public Member Functions inherited from HydroCouple::IExchangeItem | |||
| virtual | ~IExchangeItem ()=default | ||
| IExchangeItem::~IExchangeItem is a virtual destructor. | |||
Public Member Functions inherited from HydroCouple::IComponentDataItem | |||
| virtual | ~IComponentDataItem ()=default | ||
| IComponentDataItem::~IComponentDataItem is a virtual destructor. | |||
| 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. | |||
| virtual vector< IDimension * > | dimensions () const =0 | ||
| provides purely descriptive information of the dimensions associated with this IComponentItem | |||
| virtual int | dimensionLength (const initializer_list< 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() | |||
| virtual IValueDefinition * | valueDefinition () const =0 | ||
| IValueDefinition for this IValueSet defines the variable type associated with this object. | |||
| 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. IndexArray = x + y * InSizeX + z * InSizeX * InSizeY etc;. | |||
| 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 | setValue (const hydrocouple_variant &data, const initializer_list< int > &dimensionIndexes)=0 | ||
| Sets a multi-dimensional array of values for given dimension indexes. | |||
| 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. | |||
| virtual bool | hasEditor () const =0 | ||
| hasEditor indicates whether this IComponentItem has a UI editor. | |||
| virtual void | showEditor (void *opaqueUIPointer=nullptr)=0 | ||
| showEditor shows the editor for this IComponentItem. | |||
| virtual bool | hasViewer () const =0 | ||
| hasViewer indicates whether this IComponentItem has a UI viewer. | |||
| virtual void | showViewer (void *opaqueUIPointer=nullptr)=0 | ||
| showViewer shows the viewer for this IComponentItem. | |||
Public Member Functions inherited from HydroCouple::IIdentity | |||
| virtual | ~IIdentity ()=default | ||
| IIdentity::~IIdentity is a virtual destructor. | |||
| virtual string | id () const =0 | ||
| Gets a unique identifier for the entity. | |||
Public Member Functions inherited from HydroCouple::IDescription | |||
| virtual | ~IDescription ()=default | ||
| IDescription::~IDescription is a virtual destructor. | |||
| virtual string | caption () const =0 | ||
| Gets caption for the entity. | |||
| virtual void | setCaption (const string &caption)=0 | ||
| Sets caption for the entity. | |||
| virtual string | description () const =0 | ||
| Gets additional descriptive information for the entity. | |||
| virtual void | setDescription (const string &description)=0 | ||
| Gets additional descriptive information for the entity. | |||
Public Member Functions inherited from HydroCouple::IPropertyChanged | |||
| virtual | ~IPropertyChanged ()=default | ||
| IPropertyChanged::~IPropertyChanged is a virtual destructor. | |||
Public Member Functions inherited from HydroCouple::ISignal< string > | |||
| virtual | ~ISignal ()=default | ||
| ISignal::~ISignal is a virtual destructor. | |||
| virtual void | connect (const shared_ptr< ISlot< Args... > > &slot)=0 | ||
| connect is used to connect a slot to the signal. | |||
| virtual void | disconnect (const shared_ptr< ISlot< Args... > > &slot)=0 | ||
| disconnect is used to disconnect a slot from the signal. | |||
| virtual void | blockSignals (bool block)=0 | ||
| blockSignals is used to block signals from being emitted. | |||
Public Member Functions inherited from HydroCouple::ISignal< const shared_ptr< IComponentDataItemValueChanged > & > | |||
| virtual | ~ISignal ()=default | ||
| ISignal::~ISignal is a virtual destructor. | |||
| virtual void | connect (const shared_ptr< ISlot< Args... > > &slot)=0 | ||
| connect is used to connect a slot to the signal. | |||
| virtual void | disconnect (const shared_ptr< ISlot< Args... > > &slot)=0 | ||
| disconnect is used to disconnect a slot from the signal. | |||
| virtual void | blockSignals (bool block)=0 | ||
| blockSignals is used to block signals from being emitted. | |||
Additional Inherited Members | |
Protected Member Functions inherited from HydroCouple::ISignal< string > | |
| virtual void | emit (Args... args)=0 |
| emit is used to emit the signal. | |
Protected Member Functions inherited from HydroCouple::ISignal< const shared_ptr< IComponentDataItemValueChanged > & > | |
| virtual void | emit (Args... args)=0 |
| emit is used to emit the signal. | |
An IAdaptedOutput adds one or more data operations on top of an IOutput.
It is in itself an IOutput. The IAdaptedOutput extends an output with operations including spatial interpolation, temporal interpolation, unit conversion etc.
IAdaptedOutput instances are created by means of an IAdaptedOutputFactory.
The IAdaptedOutput is based on the adaptor design pattern. It adapts an IOutput or another IAdaptedOutput to make it suitable for new use or purpose. The object being adapted is typically called the adaptee. The IAdaptedOutput replaces the DataOperation that was used in OpenMI Standard version 1.x.
|
virtualdefault |
IAdaptedOutput::~IAdaptedOutput is a virtual destructor.
|
pure virtual |
IAdaptedOutputFactory that generated this IAdaptedOutput.
|
pure virtual |
IOutput that this IAdaptedOutput extracts content from. In the adapter design pattern, it is the item being adapted.
|
pure virtual |
IArgument represents input parameters needed for this IAdaptedOutput.
An unmodifiable vector of the (modifiable) IArguments should be returned that can be used to get information on an IArgument and to modify its values. Validation of changes is done when they occur (e.g. using notifications).
|
pure virtual |
Lets this IAdaptedOutput initialize() itself, based on the current values specified by the arguments.
Only after initialize() is called the refresh() method might be called.
A component must invoke the initialize() method of all its adapted outputs at the end of the component's Prepare phase. In case of stacked adapted outputs, the adaptee must be initialized first.
|
pure virtual |
Requests the IAdaptedOutput to refresh itself and perform any necessary calculations.
This method will be called by the adaptee(), when it has been refreshed/updated. In the implementation of the refresh method the adapted output should update its contents according to the cha
After updating itself the IAdaptedOutput must call refresh() on all its IAdaptedOutput children, nges in the adaptee. so the chain of IOutput 's refreshes themselves.