Generic data set interface for structured volume meshes. More...
#include <MeshVizXLM/mesh/data/MiDataSetIjk.h>
Public Member Functions | |
virtual _T | get (size_t i, size_t j, size_t k) const =0 |
virtual MiMeshIjk::StorageLayout | getStorageLayout () const |
A generic abstract template interface for a data set usable in any extract of a structured volume mesh.
MyVolumeMeshCurvilinear, MyVolumeMeshRectilinear, MyVolumeMeshRegular, MyVolumeMeshHexahedronIjk, MyVolumeMeshVertexHexahedronIjk
virtual _T MiDataSetIjk< _T >::get | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [pure virtual] |
Returns the ijk-th value of this set.
virtual MiMeshIjk::StorageLayout MiDataSetIjk< _T >::getStorageLayout | ( | ) | const [inline, virtual] |
Hint about data organization in memory.
This information aims at optimizing the dataset traversal for extractors. Returns the internal data layout in memory as 6 enum values covering all possible cases.
For instance LAYOUT_KJI means that:
The fastest way to go through the data with LAYOUT_KJI should be to perform the following triple loop:
for each k with 0 <= k < numK for each j with 0 <= j < numJ for each i with 0 <= i < numI data.get(i,j,k);
The default implementation returns LAYOUT_UNKNOWN meaning that the data storage organization is unknown, for instance when data are computed on the fly. In that case, extractors perform the dataset traversal in the way that minimizes the required memory for their algorithms.