MiDataSetIjk< _T > Class Template Reference
[DataSets]

MeshViz Generic data set interface for structured volume meshes. More...

#include <MeshVizXLM/mesh/data/MiDataSetIjk.h>

Inheritance diagram for MiDataSetIjk< _T >:
MiBoundedDataSet< _T > MiDataSet MeXDataSetIjk< _T >

List of all members.

Public Member Functions

virtual _T get (size_t i, size_t j, size_t k) const =0
virtual MiMeshIjk::StorageLayout getStorageLayout () const

Detailed Description

template<typename _T>
class MiDataSetIjk< _T >

MeshViz Generic data set interface for structured volume meshes.

A generic abstract template interface for a data set usable in any extract of a structured volume mesh.

See related examples:

MyVolumeMeshCurvilinear, MyVolumeMeshRectilinear, MyVolumeMeshRegular, MyVolumeMeshHexahedronIjk, MyVolumeMeshVertexHexahedronIjk


Member Function Documentation

template<typename _T>
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.

template<typename _T>
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 data (i+1,j,k) is consecutive in memory to the data (i,j,k) and,
  • the row of data (j+1,k) is consecutive in memory to the row of data (j,k) and,
  • the slice of data (k+1) is consecutive in memory to the slice of data (k)

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.


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

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/