MiGeometryIjk Class Reference

MeshViz Generic geometry interface for structured volume meshes. More...

#include <MeshVizXLM/mesh/geometry/MiGeometryIjk.h>

Inheritance diagram for MiGeometryIjk:
MiGeometry MbGeometryIjk< _Vec3T, _Layout > MyGeometryIjk

List of all members.

Public Member Functions

virtual MbVec3d getCoord (size_t i, size_t j, size_t k) const =0
virtual MiMeshIjk::StorageLayout getStorageLayout () const

Detailed Description

MeshViz Generic geometry interface for structured volume meshes.

Generic geometry interface accessible via three indices. This type of geometry is typically used by structured volume meshes interfaces.

See related examples:


Member Function Documentation

virtual MbVec3d MiGeometryIjk::getCoord ( size_t  i,
size_t  j,
size_t  k 
) const [pure virtual]

Returns the coordinate (i,j,k) of this geometry.

Implemented in MbGeometryIjk< _Vec3T, _Layout >, MyGeometryIjk, and MbGeometryIjk< _CoordT, _Layout >.

virtual MiMeshIjk::StorageLayout MiGeometryIjk::getStorageLayout (  )  const [inline, virtual]

Hint about coordinates organization in memory.

This information aims at optimizing the geometry traversal for extractors. Returns the internal coordinates layout in memory as 6 enum values covering all possible cases.

For instance LAYOUT_KJI means that:

  • the coordinate (i+1,j,k) is consecutive in memory to the coordinate (i,j,k) and,
  • the row of coordinates (j+1,k) is consecutive in memory to the row of coordinates (j,k) and,
  • the slice of coordinates (k+1) is consecutive in memory to the slice of coordinates (k)

The fastest way to go through the coordinates 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

The default implementation returns LAYOUT_UNKNOWN meaning that the coordinates storage organization is unknown, for instance when data are computed on the fly. In that case, extractors perform the geometry traversal in the way that minimizes the required memory for their algorithms.

Reimplemented in MbGeometryIjk< _Vec3T, _Layout >, and MbGeometryIjk< _CoordT, _Layout >.

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

Open Inventor Toolkit reference manual, generated on 16 Jul 2020
Copyright © Thermo Fisher Scientific All rights reserved.