![]() |
HydroCouple
2.0.0-alpha.1
HydroCouple Interface Definitions
|
IDimension provides the properties of one axis of a data item's index space. More...
#include <hydrocouple.h>
Public Types | |
| enum class | LengthType { Static = 0 , Dynamic = 1 } |
| IDimension::LengthType dimension length type. More... | |
| enum class | DimensionRole : uint8_t { Unknown = 0 , Time , Entity , Layer , Band , Row , Column , Depth , Component , Realization , Other } |
| What an axis of the index space means. More... | |
Public Member Functions | |
| virtual | ~IDimension ()=default |
| ~IDimension destructor | |
| virtual LengthType | lengthType () const =0 |
| Gets the length type of the dimension. | |
| virtual DimensionRole | role () const =0 |
| What this axis means. | |
Public Member Functions inherited from HydroCouple::IIdentity | |
| virtual | ~IIdentity ()=default |
| IIdentity::~IIdentity is a virtual destructor. | |
| virtual const std::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 const std::string & | caption () const =0 |
| Gets caption for the entity. | |
| virtual void | setCaption (const std::string &caption)=0 |
| Sets caption for the entity. | |
| virtual const std::string & | description () const =0 |
| Gets additional descriptive information for the entity. | |
| virtual void | setDescription (const std::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< std::string > | |
| virtual | ~ISignal ()=default |
| ISignal::~ISignal is a virtual destructor. | |
| virtual void | connect (const std::shared_ptr< ISlot< Args... > > &slot)=0 |
| connect is used to connect a slot to the signal. | |
| virtual void | disconnect (const std::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< std::string > | |
| virtual void | emit (Args... args)=0 |
| emit is used to emit the signal. | |
IDimension provides the properties of one axis of a data item's index space.
Every specialization of IComponentDataItem documents a canonical dimension ordering ("time is dimension 0, the entity dimension is dimension 1, ..."). That prose is for readers; role() is the same information for programs. A generic consumer — a NetCDF writer, a partitioner, an autograd driver — asks each dimension for its role instead of knowing which specialization it holds.
|
strong |
What an axis of the index space means.
| Enumerator | |
|---|---|
| Unknown | Not declared. |
| Time | Time steps (Temporal::ITimeSeriesComponentDataItem::times()). |
| Entity | Spatial entities: geometries, mesh nodes/edges/faces, network nodes/edges, or the identifiers of an id-based item. |
| Layer | Vertical layers (Spatial::ILayering), top first. |
| Band | Raster bands. |
| Row | Raster rows / structured-grid y index. |
| Column | Raster columns / structured-grid x index. |
| Depth | Structured-grid z index (IRegularGrid3D). |
| Component | Vector or tensor components (Spatial::SpatialDataType). |
| Realization | Ensemble members. |
| Other | Declared but none of the above. |
|
strong |
IDimension::LengthType dimension length type.
| Enumerator | |
|---|---|
| Static | Static length type. |
| Dynamic | Dynamic length type. |
|
virtualdefault |
~IDimension destructor
|
nodiscardpure virtual |
Gets the length type of the dimension.
|
nodiscardpure virtual |
What this axis means.
Must agree with the canonical ordering documented by the owning item's specialization; an item with two axes of the same role (a matrix of entity × entity, say) reports DimensionRole::Other for the second.