MbScalarSetIjk< _T, _Layout > Class Template Reference
[Data]

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

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

Inheritance diagram for MbScalarSetIjk< _T, _Layout >:
MiDataSetIjk< double > MbDataSet MbIjkToI< _Layout > MiBoundedDataSet< double > MiDataSet MiDataSet

List of all members.

Public Member Functions

double get (size_t i, size_t j, size_t k) const
void set (size_t i, size_t j, size_t k, const _T &data)
virtual MiMeshIjk::StorageLayout getStorageLayout () const
virtual double getMin () const
virtual double getMax () const



 MbScalarSetIjk ()
 MbScalarSetIjk (size_t numI, size_t numJ, size_t numK)
 MbScalarSetIjk (size_t numI, size_t numJ, size_t numK, const std::string &name, DataBinding binding=PER_NODE)
virtual void getSize (size_t &sizeI, size_t &sizeJ, size_t &sizeK) const
virtual void setSize (size_t sizeI, size_t sizeJ, size_t sizeK)

Detailed Description

template<typename _T = double, MiMeshIjk::StorageLayout _Layout = MiMeshIjk::LAYOUT_KJI>
class MbScalarSetIjk< _T, _Layout >

MeshViz Defines a set of scalars for Ijk volumes.


Constructor & Destructor Documentation

template<typename _T , MiMeshIjk::StorageLayout _Layout>
MbScalarSetIjk< _T, _Layout >::MbScalarSetIjk (  )  [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<typename _T , MiMeshIjk::StorageLayout _Layout>
MbScalarSetIjk< _T, _Layout >::MbScalarSetIjk ( size_t  numI,
size_t  numJ,
size_t  numK 
) [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<typename _T , MiMeshIjk::StorageLayout _Layout>
MbScalarSetIjk< _T, _Layout >::MbScalarSetIjk ( size_t  numI,
size_t  numJ,
size_t  numK,
const std::string &  name,
DataBinding  binding = PER_NODE 
) [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.


Member Function Documentation

template<typename _T , MiMeshIjk::StorageLayout _Layout>
double MbScalarSetIjk< _T, _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< double >.

template<typename _T , MiMeshIjk::StorageLayout _Layout>
double MbScalarSetIjk< _T, _Layout >::getMax (  )  const [inline, virtual]

Returns the max of this set.

Reimplemented from MiBoundedDataSet< double >.

template<typename _T , MiMeshIjk::StorageLayout _Layout>
double MbScalarSetIjk< _T, _Layout >::getMin (  )  const [inline, virtual]

Returns the min of this set.

Reimplemented from MiBoundedDataSet< double >.

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

Returns the number of values in this set.

template<typename _T = double, MiMeshIjk::StorageLayout _Layout = MiMeshIjk::LAYOUT_KJI>
virtual MiMeshIjk::StorageLayout MbScalarSetIjk< _T, _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< double >.

template<typename _T , MiMeshIjk::StorageLayout _Layout>
void MbScalarSetIjk< _T, _Layout >::set ( size_t  i,
size_t  j,
size_t  k,
const _T &  data 
) [inline]

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

template<typename _T , MiMeshIjk::StorageLayout _Layout>
void MbScalarSetIjk< _T, _Layout >::setSize ( size_t  sizeI,
size_t  sizeJ,
size_t  sizeK 
) [inline, virtual]

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.


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

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