MiMeshIjk Class Reference
[Mesh interfaces]

MeshViz IJK volume mesh abstract interface. More...

#include <MeshVizXLM/mesh/MiMeshIjk.h>

Inheritance diagram for MiMeshIjk:
MiMesh MiVolumeMeshCurvilinear MiVolumeMeshHexahedronIjk MiVolumeMeshRectilinear MiVolumeMeshRegular MiVolumeMeshUnstructuredIjk MiVolumeMeshVertexHexahedronIjk

List of all members.

Public Types

enum  StorageLayout {
  LAYOUT_IJK,
  LAYOUT_IKJ,
  LAYOUT_JKI,
  LAYOUT_JIK,
  LAYOUT_KJI,
  LAYOUT_KIJ,
  LAYOUT_UNKNOWN
}

Public Member Functions

virtual const MiTopologyIjkgetTopology () const =0

Protected Member Functions

virtual std::ostream & toStream (std::ostream &s) const

Detailed Description

MeshViz IJK volume mesh abstract interface.

This interface defines an IJK volume mesh. All IJK meshes have a common topology interface to get the number of cells: getNumCellsI(), getNumCellsJ() and getNumCellsK().

See also:
MiVolumeMeshRectilinear
MiVolumeMeshCurvilinear
MiVolumeMeshRegular
MiVolumeMeshHexahedronIjk
MiVolumeMeshVertexHexahedronIjk
See related examples:

MeshVizTemplates


Member Enumeration Documentation

Hint about data organization in memory.

This information aims at optimizing the data traversal for extractors. Enum values covering all possible cases for internal data layout in memory. For instance LAYOUT_KJI means that:

  • 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 such layout is 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
        
Enumerator:
LAYOUT_IJK 
LAYOUT_IKJ 
LAYOUT_JKI 
LAYOUT_JIK 
LAYOUT_KJI 
LAYOUT_KIJ 
LAYOUT_UNKNOWN 

Member Function Documentation

virtual const MiTopologyIjk& MiMeshIjk::getTopology (  )  const [pure virtual]

Returns the topology of this mesh.

Implemented in MiVolumeMeshHexahedronIjk, and MiVolumeMeshUnstructuredIjk.

virtual std::ostream& MiMeshIjk::toStream ( std::ostream &  s  )  const [inline, protected, virtual]

Performs an output operation on a stream which is returned afterward. This method is protected since only called by the output operator <<. This method is not pure virtual and output by default the geometry and topology of a mesh. Whenever a different output is needed, this method can be implemented in the subclass to get a different output format. No std::ostream& operator << needs to be defined in any subclass. This allows you to benefit from the virtual inheritance when using the output operator on an abstract class.

Implements MiMesh.

Reimplemented in MiVolumeMeshCurvilinear, MiVolumeMeshHexahedronIjk, MiVolumeMeshRectilinear, MiVolumeMeshRegular, MiVolumeMeshUnstructuredIjk, and MiVolumeMeshVertexHexahedronIjk.


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/