MbVec3SetIjk< _Vec3T, _Layout > Class Template Reference
[Data]

MeshViz Defines a set of 3D vectors. More...

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

Inheritance diagram for MbVec3SetIjk< _Vec3T, _Layout >:
MiDataSetIjk< MbVec3d > MbDataSet MbIjkToI< _Layout > MiBoundedDataSet< MbVec3d > MiDataSet MiDataSet

List of all members.

Public Member Functions

MbVec3d get (size_t i, size_t j, size_t k) const
void set (size_t i, size_t j, size_t k, const _Vec3T &data)
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)
MiMeshIjk::StorageLayout getStorageLayout () const
virtual MbVec3d getMin () const
virtual MbVec3d getMax () const



 MbVec3SetIjk ()
 MbVec3SetIjk (size_t numI, size_t numJ, size_t numK)
 MbVec3SetIjk (size_t numI, size_t numJ, size_t numK, const std::string &name, DataBinding binding=PER_NODE)

Detailed Description

template<typename _Vec3T = MbVec3d, MiMeshIjk::StorageLayout _Layout = MiMeshIjk::LAYOUT_KJI>
class MbVec3SetIjk< _Vec3T, _Layout >

MeshViz Defines a set of 3D vectors.


Constructor & Destructor Documentation

template<typename _Vec3T , MiMeshIjk::StorageLayout _Layout>
MbVec3SetIjk< _Vec3T, _Layout >::MbVec3SetIjk (  )  [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 _Vec3T , MiMeshIjk::StorageLayout _Layout>
MbVec3SetIjk< _Vec3T, _Layout >::MbVec3SetIjk ( 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>
MbVec3SetIjk< _T, _Layout >::MbVec3SetIjk ( 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 _Vec3T , MiMeshIjk::StorageLayout _Layout>
MbVec3d MbVec3SetIjk< _Vec3T, _Layout >::get ( size_t  i,
size_t  j,
size_t  k 
) const [inline, virtual]

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

Implements MiDataSetIjk< MbVec3d >.

template<typename _Vec3T , MiMeshIjk::StorageLayout _Layout>
MbVec3d MbVec3SetIjk< _Vec3T, _Layout >::getMax (  )  const [inline, virtual]

Returns the max of this set.

Reimplemented from MiBoundedDataSet< MbVec3d >.

template<typename _Vec3T , MiMeshIjk::StorageLayout _Layout>
MbVec3d MbVec3SetIjk< _Vec3T, _Layout >::getMin (  )  const [inline, virtual]

Returns the min of this set.

Reimplemented from MiBoundedDataSet< MbVec3d >.

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

Returns the number of values in this set.

template<typename _Vec3T = MbVec3d, MiMeshIjk::StorageLayout _Layout = MiMeshIjk::LAYOUT_KJI>
MiMeshIjk::StorageLayout MbVec3SetIjk< _Vec3T, _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< MbVec3d >.

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

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

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

Sets the number of values in this set.


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/