HydroCouple  2.0.0
HydroCouple Interface Definitions
HydroCouple::IComponentDataItem Class Referenceabstract

IComponentItem is a fundamental unit of data for a component. More...

#include <hydrocouple.h>

Inheritance diagram for HydroCouple::IComponentDataItem:
Collaboration diagram for HydroCouple::IComponentDataItem:

Public Member Functions

virtual ~IComponentDataItem ()=0
 IComponentDataItem::~IComponentDataItem is a virtual destructor. More...
 
virtual IModelComponentmodelComponent () 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 vector< IDimension * > dimensions () const =0
 provides purely descriptive information of the dimensions associated with this IComponentItem More...
 
virtual int dimensionLength (const 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 IValueDefinitionvalueDefinition () const =0
 IValueDefinition for this IValueSet defines the variable type associated with this object. More...
 
virtual void getValue (const 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 vector< int > &dimensionIndexes, const void *data)=0
 Sets a multi-dimensional array of values for given dimension indexes. More...
 
virtual bool hasEditor () const =0
 hasEditor indicates whether this IComponentItem has a UI editor. More...
 
virtual void showEditor ()=0
 showEditor shows the editor for this IComponentItem. More...
 
virtual bool hasViewer () const =0
 hasViewer indicates whether this IComponentItem has a UI viewer. More...
 
virtual void showViewer ()=0
 showViewer More...
 
- Public Member Functions inherited from HydroCouple::IIdentity
virtual ~IIdentity ()=0
 IIdentity::~IIdentity is a virtual destructor. More...
 
virtual string id () const =0
 Gets a unique identifier for the entity. More...
 
- Public Member Functions inherited from HydroCouple::IDescription
virtual ~IDescription ()=0
 IDescription::~IDescription is a virtual destructor. More...
 
virtual string caption () const =0
 Gets caption for the entity. More...
 
virtual void setCaption (const string &caption)=0
 Sets caption for the entity. More...
 
virtual string description () const =0
 Gets additional descriptive information for the entity. More...
 
virtual void setDescription (const string &description)=0
 Gets additional descriptive information for the entity. More...
 
- Public Member Functions inherited from HydroCouple::IPropertyChanged
virtual ~IPropertyChanged ()=0
 IPropertyChanged::~IPropertyChanged is a virtual destructor. More...
 
virtual void registerPropertyChangedListener (const function< void(const any &, const string &)> &propertyChangedListener)=0
 IPropertyChanged::registerPropertyChangedListener() registers a listener to be called when a property of an object changes. More...
 
virtual void deRegisterPropertyChangedListener (const function< void(const any &, const string &propertyName)> &propertyChangedListener)=0
 IPropertyChanged::deRegisterPropertyChangedListener() deregisters a listener that is called when a property of an object changes. More...
 

Detailed Description

IComponentItem is a fundamental unit of data for a component.

This interface is not to be implemented directly. Input and output data must be 1D arrays indexed using dim1 + dim2*size1 + dim3*size1*size2 + dim4*size1*size2*size3 + ...

Constructor & Destructor Documentation

◆ ~IComponentDataItem()

virtual HydroCouple::IComponentDataItem::~IComponentDataItem ( )
pure virtual

IComponentDataItem::~IComponentDataItem is a virtual destructor.

Member Function Documentation

◆ dimensionLength()

virtual int HydroCouple::IComponentDataItem::dimensionLength ( const vector< int > &  dimensionIndexes) const
pure virtual

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()

Parameters
dimensionIndexesarray of indexes of the dimensions to get the length of. Its size must be less than the number of dimensions.
Returns
length of the last dimension corresponding to the dimensionIndexes provided.

◆ dimensions()

virtual vector<IDimension *> HydroCouple::IComponentDataItem::dimensions ( ) const
pure virtual

provides purely descriptive information of the dimensions associated with this IComponentItem

Returns
A list of IDimension objects.

◆ getValue()

virtual void HydroCouple::IComponentDataItem::getValue ( const vector< int > &  dimensionIndexes,
void *  data 
) const
pure virtual

Gets a multi-dimensional array of value for given dimension indexes. IndexArray = x + y * InSizeX + z * InSizeX * InSizeY etc;.

Parameters
dimensionIndexesare the indexes for the data to be obtained.
dataPointer to pre-allocated location where data is to be saved.

◆ hasEditor()

virtual bool HydroCouple::IComponentDataItem::hasEditor ( ) const
pure virtual

hasEditor indicates whether this IComponentItem has a UI editor.

Returns
A boolean indicating whether this IComponentItem has an editor.

◆ hasViewer()

virtual bool HydroCouple::IComponentDataItem::hasViewer ( ) const
pure virtual

hasViewer indicates whether this IComponentItem has a UI viewer.

Returns
A boolean indicating whether this IComponentItem has a viewer.

◆ modelComponent()

virtual IModelComponent* HydroCouple::IComponentDataItem::modelComponent ( ) const
pure virtual

Gets the owner IModelComponent of this IComponentItem. For an IOutput component item this is the component responsible for providing the content of the IOutput.

It is possible for an IComponentItem to have no owner, in this case the method will return nullptr.

Returns
an IModelComponent object that is the parent of this IComponentItem

◆ setValue()

virtual void HydroCouple::IComponentDataItem::setValue ( const vector< int > &  dimensionIndexes,
const void *  data 
)
pure virtual

Sets a multi-dimensional array of values for given dimension indexes.

Parameters
dimensionIndexesare the indexes for where data is to be written.
datais the pointer to the input data to be set.

◆ showEditor()

virtual void HydroCouple::IComponentDataItem::showEditor ( )
pure virtual

showEditor shows the editor for this IComponentItem.

◆ showViewer()

virtual void HydroCouple::IComponentDataItem::showViewer ( )
pure virtual

showViewer

◆ valueDefinition()

virtual IValueDefinition* HydroCouple::IComponentDataItem::valueDefinition ( ) const
pure virtual

IValueDefinition for this IValueSet defines the variable type associated with this object.

Returns
the variable definition for this variable. This is either a

The documentation for this class was generated from the following file: