MbStringSetIjk< _Layout > Class Template Reference
[Data]

MeshViz Defines a set of string for Ijk volumes. More...

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

Inheritance diagram for MbStringSetIjk< _Layout >:
MiDataSetIjk< _T > MbTypedDataSet< _T > MbIjkToI< _Layout > MiTypedDataSet< _T > MiTypedDataSet< _T > MiDataSet MiDataSet

List of all members.

Public Member Functions

 MbStringSetIjk (size_t sizeI, size_t sizeJ, size_t sizeK)
 MbStringSetIjk (size_t sizeI, size_t sizeJ, size_t sizeK, const std::string &name, DataBinding binding)
virtual std::string get (size_t i, size_t j, size_t k) const
virtual MiMeshIjk::StorageLayout getStorageLayout () const
void getSize (size_t &sizeI, size_t &sizeJ, size_t &sizeK) const

Detailed Description

template<typename MiMeshIjk::StorageLayout _Layout = MiMeshIjk::LAYOUT_KJI>
class MbStringSetIjk< _Layout >

MeshViz Defines a set of string for Ijk volumes.


Constructor & Destructor Documentation

template<MiMeshIjk::StorageLayout _Layout>
MbStringSetIjk< _Layout >::MbStringSetIjk ( size_t  sizeI,
size_t  sizeJ,
size_t  sizeK 
) [inline]

Constructor for an empty default dataset.

This dataset has a default name depending on the number of instances created. Its binding is set to PER_NODE by default.

template<MiMeshIjk::StorageLayout _Layout>
MbStringSetIjk< _Layout >::MbStringSetIjk ( size_t  sizeI,
size_t  sizeJ,
size_t  sizeK,
const std::string &  name,
MiDataSet::DataBinding  binding 
) [inline]

Constructor for dataset with specific name and specific data binding.


Member Function Documentation

template<MiMeshIjk::StorageLayout _Layout>
std::string MbStringSetIjk< _Layout >::get ( size_t  i,
size_t  j,
size_t  k 
) const [inline, virtual]

Returns the (i,j,k)-th value of this set.

Implements MiDataSetIjk< _T >.

template<MiMeshIjk::StorageLayout _Layout>
void MbStringSetIjk< _Layout >::getSize ( size_t &  sizeI,
size_t &  sizeJ,
size_t &  sizeK 
) const [inline]

Returns the number of values in this set.

template<MiMeshIjk::StorageLayout _Layout>
MiMeshIjk::StorageLayout MbStringSetIjk< _Layout >::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.

Reimplemented from MiDataSetIjk< _T >.


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

Open Inventor by FEI reference manual, generated on 30 Jul 2019
Copyright © FEI S.A.S. All rights reserved.
http://www.openinventor.com/