IJK volume mesh abstract interface. More...
#include <MeshVizXLM/mesh/MiMeshIjk.h>
Public Types | |
enum | StorageLayout { LAYOUT_IJK , LAYOUT_IKJ , LAYOUT_JKI , LAYOUT_JIK , LAYOUT_KJI , LAYOUT_KIJ , LAYOUT_UNKNOWN } |
Hint about data organization in memory. More... | |
Public Types inherited from MiMesh | |
enum | Dimension { DIMENSION_I = 0 , DIMENSION_J = 1 , DIMENSION_K = 2 } |
Defines the dimensions in a one, two, or three-dimensional array. More... | |
Public Member Functions | |
virtual const MiTopologyIjk & | getTopology () const =0 |
Returns the topology of this mesh. | |
Public Member Functions inherited from MiMesh | |
virtual | ~MiMesh () |
Protected Member Functions | |
virtual std::ostream & | toStream (std::ostream &s) const |
Performs an output operation on a stream which is returned afterward. | |
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().
Definition at line 51 of file MiMeshIjk.h.
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:
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 |
Definition at line 70 of file MiMeshIjk.h.
|
pure virtual |
Returns the topology of this mesh.
Implemented in MiVolumeMeshHexahedronIjk.
|
inlineprotectedvirtual |
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, and MiVolumeMeshVertexHexahedronIjk.
Definition at line 86 of file MiMeshIjk.h.