24 #ifndef HYDROCOUPLESPATIOTEMPORAL_H
25 #define HYDROCOUPLESPATIOTEMPORAL_H
33 namespace SpatioTemporal
89 virtual void getValue(
int timeIndex,
int geometryIndex,
void *data)
const = 0;
99 virtual void getValues(
int timeIndex,
int geometryIndex,
int timeStride,
int geomStride,
void *data)
const = 0;
107 virtual void setValue(
int timeIndex,
int geometryIndex,
const void *data) = 0;
117 virtual void setValues(
int timeIndex,
int geometryIndex,
int timeStride,
int geomStride,
const void *data) = 0;
167 virtual void getValue(
int timeIndex,
int edgeDimensionIndex,
int nodeDimensionIndex,
void *data)
const = 0;
176 virtual void setValue(
int timeIndex,
int edgeDimensionIndex,
int nodeDimensionIndex,
const void *data) = 0;
232 virtual void getValue(
int timeIndex,
int cellDimensionIndex,
int edgeDimensionIndex,
int nodeDimensionIndex,
void *data)
const = 0;
242 virtual void setValue(
int timeIndex,
int cellDimensionIndex,
int edgeDimensionIndex,
int nodeDimensionIndex,
const void *data) = 0;
307 virtual void getValue(
int timeIndex,
int xIndex,
int yIndex,
int band,
void *data)
const = 0;
321 virtual void getValues(
int timeIndex,
int xindex,
int yindex,
322 int bandIndex,
int timeStride,
int xstride,
323 int ystride,
int bandStride,
void *data)
const = 0;
333 virtual void setValue(
int timeIndex,
int xIndex,
int yIndex,
int band,
const void *data) = 0;
347 virtual void setValues(
int timeIndex,
int xindex,
int yindex,
348 int bandIndex,
int timeStride,
int xstride,
349 int ystride,
int bandStride,
const void *data) = 0;
410 virtual void getValue(
int timeIndex,
int xCellIndex,
int yCellIndex,
int cellEdgeIndex,
int cellNodeIndex,
void *data)
const = 0;
422 virtual void setValue(
int timeIndex,
int xCellIndex,
int yCellIndex,
int cellEdgeIndex,
int cellNodeIndex,
const void *data) = 0;
488 virtual void getValue(
int timeIndex,
int xCellIndex,
int yCellIndex,
int zCellIndex,
489 int cellFaceIndex,
int cellNodeIndex,
void *data)
const = 0;
501 virtual void setValue(
int timeIndex,
int xCellIndex,
int yCellIndex,
int zCellIndex,
502 int cellFaceIndex,
int cellNodeIndex,
const void *data) = 0;
554 virtual void getValue(
int timeIndex,
int locationIndex,
int spatialIndex,
void *data)
const = 0;
565 virtual void getValues(
int timeIndex,
int locationIndex,
int spatialDimensionIndex,
566 int locationStride,
int spatialDimensionStride,
void *data)
const = 0;
574 virtual void setValue(
int timeIndex,
int locationIndex,
int spatialDimensionIndex,
const void *data) = 0;
585 virtual void setValues(
int timeIndex,
int locationIndex,
int spatialDimensionIndex,
586 int locationStride,
int spatialDimensionStride,
const void *data) = 0;
virtual void setValue(const vector< int > &dimensionIndexes, const void *data)=0
Sets a multi-dimensional array of values for given dimension indexes.
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...
IDimension provides the properties of the dimensions of a variable.
Definition: hydrocouple.h:863
The IEnvelope class.
Definition: hydrocouplespatial.h:100
IGeometry is the root class of the geometry hierarchy.
Definition: hydrocouplespatial.h:149
GeometryType
The type of IGeometry.
Definition: hydrocouplespatial.h:155
The INetwork class.
Definition: hydrocouplespatial.h:1090
An IPoint is a 0-dimensional geometric object and represents a single location in coordinate space.
Definition: hydrocouplespatial.h:505
An IPolyhedralSurface is a contiguous collection of polygons, which share common boundary segments.
Definition: hydrocouplespatial.h:1159
A Raster spatial feature.
Definition: hydrocouplespatial.h:1228
The IRegularGrid2D class.
Definition: hydrocouplespatial.h:1375
The IRegularGrid3D class.
Definition: hydrocouplespatial.h:1430
An ITIN is a triangulated irregular network IPolyhedralSurface consisting only of ITriangle patches.
Definition: hydrocouplespatial.h:1210
ITimeGeometryComponentItem represents an IComponentItem with both temporal and geometric components.
Definition: hydrocouplespatiotemporal.h:39
virtual void getValue(int timeIndex, int geometryIndex, void *data) const =0
getValue Gets the value for given time dimension index and geometry dimension index.
virtual void getValues(int timeIndex, int geometryIndex, int timeStride, int geomStride, void *data) const =0
Gets a multi-dimensional array of values for given time dimension index and size for a hyperslab.
virtual HydroCouple::Spatial::IEnvelope * envelope() const =0
envelope The envelope of the data item.
virtual void setValue(int timeIndex, int geometryIndex, const void *data)=0
setValues Sets the value for given time dimension index and geometry dimension index.
virtual HydroCouple::Spatial::IGeometry::GeometryType geometryType() const =0
geometryType
virtual HydroCouple::Spatial::IGeometry * geometry(int geometryIndex) const =0
geometry The geometry at the specified index.
virtual ~ITimeGeometryComponentDataItem()=0
~ITimeGeometryComponentItem.
virtual int geometryCount() const =0
geometryCount The number of geometries in the data item.
virtual void setValues(int timeIndex, int geometryIndex, int timeStride, int geomStride, const void *data)=0
Sets a multi-dimensional array of values for given time dimension index and size for a hyperslab.
virtual HydroCouple::IDimension * geometryDimension() const =0
The ITimeNetworkComponentDataItem class.
Definition: hydrocouplespatiotemporal.h:125
virtual HydroCouple::Spatial::MeshDataType meshDataType() const =0
meshDataType The mesh data type for the network.
virtual void setValue(int timeIndex, int edgeDimensionIndex, int nodeDimensionIndex, const void *data)=0
setValue Sets the value for given time dimension index, edge dimension index and node dimension index...
virtual IDimension * edgeDimension() const =0
edgeDimension The dimension for the edges of the network.
virtual HydroCouple::Spatial::INetwork * network() const =0
network associated with this ITimeNetworkComponentItem.
virtual ~ITimeNetworkComponentDataItem()=0
~ITimeNetworkComponentItem.
virtual void getValue(int timeIndex, int edgeDimensionIndex, int nodeDimensionIndex, void *data) const =0
getValue Gets the value for given time dimension index, edge dimension index and node dimension index...
virtual IDimension * nodeDimension() const =0
nodeDimension The dimension for the nodes of the network.
The ITimePolyhedralSurfaceComponentItem class.
Definition: hydrocouplespatiotemporal.h:184
virtual void getValue(int timeIndex, int cellDimensionIndex, int edgeDimensionIndex, int nodeDimensionIndex, void *data) const =0
getValue Gets the value for given time dimension index, cell dimension index, edge dimension index an...
virtual ~ITimePolyhedralSurfaceComponentDataItem()=0
~ITimePolyhedralSurfaceComponentItem.
virtual void setValue(int timeIndex, int cellDimensionIndex, int edgeDimensionIndex, int nodeDimensionIndex, const void *data)=0
setValues Sets the value for given time dimension index, cell dimension index, edge dimension index a...
virtual HydroCouple::Spatial::IPolyhedralSurface * polyhedralSurface() const =0
virtual IDimension * cellDimension() const =0
cellDimension The dimension for the cells of the polyhedral surface.
virtual IDimension * nodeDimension() const =0
nodeDimension The dimension for the nodes of the polyhedral surface.
virtual IDimension * edgeDimension() const =0
edgeDimension The dimension for the edges of the polyhedral surface.
virtual HydroCouple::Spatial::MeshDataType meshDataType() const =0
polyhedralSurfaceDataType The mesh data type for the polyhedral surface.
The ITimeRasterComponentDataItem class.
Definition: hydrocouplespatiotemporal.h:268
virtual IDimension * bandDimension() const =0
IDimension for IRasterBands.
virtual void getValue(int timeIndex, int xIndex, int yIndex, int band, void *data) const =0
getValue Gets the value for given time dimension index, x dimension index, y dimension index and band...
virtual void getValues(int timeIndex, int xindex, int yindex, int bandIndex, int timeStride, int xstride, int ystride, int bandStride, void *data) const =0
Gets a multi-dimensional array of values for given dimension for a hyperslab.
virtual void setValues(int timeIndex, int xindex, int yindex, int bandIndex, int timeStride, int xstride, int ystride, int bandStride, const void *data)=0
Sets a multi-dimensional array of values for given dimension for a hyperslab.
virtual HydroCouple::Spatial::IRaster * raster() const =0
IRaster associated with this IRasterComponentDataItem.
virtual IDimension * xDimension() const =0
IDimension for xDirection.
virtual ~ITimeRasterComponentDataItem()=0
~ITimeRasterComponentItem.
virtual IDimension * yDimension() const =0
IDimension for yDirection.
virtual void setValue(int timeIndex, int xIndex, int yIndex, int band, const void *data)=0
setValue Sets the value for given time dimension index, x dimension index, y dimension index and band...
The ITimeRegularGrid2DComponentItem class.
Definition: hydrocouplespatiotemporal.h:357
virtual IDimension * yCellDimension() const =0
Number of Y cells IDimension.
virtual ~ITimeRegularGrid2DComponentDataItem()=0
~ITimeRegularGrid2DComponentItem. Destructor.
virtual IDimension * cellNodeDimension() const =0
cellNodeDimension. Node indices start from the bottom left and go in a counter clockwise order.
virtual IDimension * cellEdgeDimension() const =0
cellEdgeDimension. Edge indices start from the bottom and go in a counter clockwise order.
virtual IDimension * xCellDimension() const =0
Number of X cells IDimension.
virtual void setValue(int timeIndex, int xCellIndex, int yCellIndex, int cellEdgeIndex, int cellNodeIndex, const void *data)=0
setValue Sets the value for given time dimension index, x cell dimension index, y cell dimension inde...
virtual HydroCouple::Spatial::MeshDataType meshDataType() const =0
meshDataType The mesh data type for the regular grid.
virtual void getValue(int timeIndex, int xCellIndex, int yCellIndex, int cellEdgeIndex, int cellNodeIndex, void *data) const =0
getValue Gets the value for given time dimension index, x cell dimension index, y cell dimension inde...
virtual HydroCouple::Spatial::IRegularGrid2D * grid() const =0
IRegularGrid2D grid associated with this IRegularGrid2DComponentItem.
The ITimeRegularGrid3DComponentItem class.
Definition: hydrocouplespatiotemporal.h:429
virtual IDimension * xCellDimension() const =0
Number of X cells IDimension.
virtual IDimension * cellFaceDimension() const =0
cellFaceDimension 0 = Top , 1 = Bottom, 2 = left , 3 = Right, Up = 4, Down = 5
virtual IDimension * yCellDimension() const =0
Number of Y cells IDimension.
virtual ~ITimeRegularGrid3DComponentDataItem()=0
~ITimeRegularGrid3DComponentItem. Destructor.
virtual HydroCouple::Spatial::MeshDataType meshDataType() const =0
meshDataType The mesh data type for the regular grid.
virtual IDimension * cellNodeDimension() const =0
cellNodeDimension
virtual void getValue(int timeIndex, int xCellIndex, int yCellIndex, int zCellIndex, int cellFaceIndex, int cellNodeIndex, void *data) const =0
getValue Gets the value for given time dimension index, x cell dimension index, y cell dimension inde...
virtual IDimension * zCellDimension() const =0
Number of Z cells IDimension.
virtual HydroCouple::Spatial::IRegularGrid3D * grid() const =0
IRegularGrid3D grid associated with this IRegularGrid3DComponentItem.
virtual void setValue(int timeIndex, int xCellIndex, int yCellIndex, int zCellIndex, int cellFaceIndex, int cellNodeIndex, const void *data)=0
setValue Sets the value for given time dimension index, x cell dimension index, y cell dimension inde...
The ITINComponentItem class.
Definition: hydrocouplespatiotemporal.h:249
virtual ~ITimeTINComponentDataItem()=0
~ITimeTINComponentItem.
virtual HydroCouple::Spatial::ITIN * TIN() const =0
The ITimeVectorComponentDataItem class.
Definition: hydrocouplespatiotemporal.h:510
virtual void getValue(int timeIndex, int locationIndex, int spatialIndex, void *data) const =0
getValue Gets the value for given time dimension index, location dimension index and spatial dimensio...
virtual void getValues(int timeIndex, int locationIndex, int spatialDimensionIndex, int locationStride, int spatialDimensionStride, void *data) const =0
getValues Gets a multi-dimensional array of values for given dimension for a hyperslab.
virtual HydroCouple::Spatial::IPoint * location(int locationIndex) const =0
location The location at the specified index.
virtual int locationsCount() const =0
locationCount
virtual IDimension * locationsDimension() const =0
locationsDimension The dimension for the locations of the vector.
virtual ~ITimeVectorComponentDataItem()=0
~ITimeVectorComponentItem.
virtual IDimension * spatialDimension() const =0
dataTypeDimension alway has a length of 3. 0 = x-direction value, 1 = y-direction,...
virtual void setValues(int timeIndex, int locationIndex, int spatialDimensionIndex, int locationStride, int spatialDimensionStride, const void *data)=0
setValues Sets a multi-dimensional array of values for given dimension for a hyperslab.
virtual void setValue(int timeIndex, int locationIndex, int spatialDimensionIndex, const void *data)=0
setValue Sets the value for given time dimension index, location dimension index and spatial dimensio...
ITimeComponentItem is an IComponentItem with a temporal attribute. This class cannot be directly inst...
Definition: hydrocoupletemporal.h:103
MeshDataType
The MeshDataType enum describes the part of the geometry of the mesh that data corresponds to.
Definition: hydrocouplespatial.h:48
HydroCouple namespace contains the core interface specifications for the HydroCouple component-based ...
Definition: hydrocouple.h:50