List of volume cells interface. More...
#include <MeshVizXLM/mesh/topology/MiTopologyIjk.h>
Public Member Functions | |
virtual size_t | getNumCellsI () const =0 |
virtual size_t | getNumCellsJ () const =0 |
virtual size_t | getNumCellsK () const =0 |
virtual bool | isDead (size_t i, size_t j, size_t k) const |
Protected Member Functions | |
virtual std::ostream & | toStream (std::ostream &s) const |
A generic abstract interface for a structured implicit volume mesh topology. Cells are all implicitly defined as hexahedron so there is no need for specifying a list of cells. The number of cells on each dimension defines completely the topology.
The implementation of all the methods of this class must be thread-safe because it might be called concurrently by multiple threads. If the implementation can't be thread-safe, MeshViz XLM must be forced to use only 1 thread. It can be done by calling MiMeshViz::init(1) or MoMeshViz::init(1) or setting the parallel argument to false for each extractor instantiation. For instance by calling MiSkinExtractUnstructured::getNewInstance(&mesh, false);
MyVolumeMeshCurvilinear, MyVolumeMeshRectilinear, MyVolumeMeshRegular, MyVolumeMeshVertexHexahedronIjk
virtual size_t MiTopologyIjk::getNumCellsI | ( | ) | const [pure virtual] |
Returns the number of cells on the first logical axis.
The maximum supported value is 65535.
virtual size_t MiTopologyIjk::getNumCellsJ | ( | ) | const [pure virtual] |
Returns the number of cells on the second logical axis.
The maximum supported value is 65535.
virtual size_t MiTopologyIjk::getNumCellsK | ( | ) | const [pure virtual] |
Returns the number of cells on the third logical axis.
The maximum supported value is 65535.
virtual bool MiTopologyIjk::isDead | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, virtual] |
Returns true if the cell of index (i,j,k) should be ignored.
This value is ignored if the hasDeadCell() method returns false. The default implementation returns always false. The implementation of this method must be thread-safe because it might be called concurrently by multiple threads.
(i,j,k) | the index of the cell to check |
virtual std::ostream& MiTopologyIjk::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.
Reimplemented from MiTopology.