32 #ifndef INDEX_MATRIX_H 33 #define INDEX_MATRIX_H 85 const size_t compressionLevel);
98 inline const size_t&
operator[](
const size_t& index)
const {
return mData[index]; };
void recomputeIndicesToMatlab()
Recompute indices C++ -> MATLAB.
virtual void readData(Hdf5File &file, MatrixName &matrixName)
Read matrix from HDF5 file.
virtual void writeData(Hdf5File &file, MatrixName &matrixName, const size_t compressionLevel)
Write data into HDF5 file.
size_t * mData
Raw matrix data.
static constexpr size_t kChunkSize1D1MB
Number of elements to get 1MB block of data.
static constexpr size_t kChunkSize1D256kB
Number of elements to get 256KB block of data.
DimensionSizes getTopLeftCorner(const size_t &index) const
Get the top left corner of the index-th cuboid.
virtual ~IndexMatrix()
Destructor.
Class wrapping the HDF5 routines.
const size_t & operator[](const size_t &index) const
operator [], constant version.
IndexMatrix & operator=(const IndexMatrix &)
Operator= is not allowed.
const std::string MatrixName
Datatype for matrix names.
Structure with 4D dimension sizes (3 in space and 1 in time).
The header file containing the structure with 3D dimension sizes.
void initDimensions(const DimensionSizes &dimensionSizes)
Init dimension.
static constexpr size_t kChunkSize1D4MB
Number of elements to get 4MB block of data.
DimensionSizes getBottomRightCorner(const size_t &index) const
Get the top bottom right of the index-th cuboid.
size_t & operator[](const size_t &index)
operator [].
void recomputeIndicesToCPP()
Recompute indices MATALAB->C++.
The header file containing the base class for index matrices (based on the size_t datatype)...
IndexMatrix()=delete
Default constructor not allowed.
The class for 64b unsigned integers (indices). It is used for linear and cuboid corners masks to get ...
Abstract base class for index based matrices defining basic interface. Higher dimensional matrices st...
size_t getSizeOfAllCuboids() const
Get total number of elements in all cuboids to be able to allocate output file.