Open Inventor Release 2024.1.0
 
Loading...
Searching...
No Matches
MiTopologyIjk Class Referenceabstract

MeshViz List of volume cells interface. More...

#include <MeshVizXLM/mesh/topology/MiTopologyIjk.h>

+ Inheritance diagram for MiTopologyIjk:

Public Member Functions

virtual size_t getNumCellsI () const =0
 Returns the number of cells on the first logical axis.
 
virtual size_t getNumCellsJ () const =0
 Returns the number of cells on the second logical axis.
 
virtual size_t getNumCellsK () const =0
 Returns the number of cells on the third logical axis.
 
virtual bool isDead (size_t i, size_t j, size_t k) const
 Returns true if the cell of index (i,j,k) should be ignored.
 
- Public Member Functions inherited from MiTopology
virtual ~MiTopology ()
 
virtual size_t getTimeStamp () const =0
 Returns for this topology a unique time stamp across all topologies in the application.
 
virtual bool hasDeadCells () const
 Returns true if the topology contains dead cells.
 

Protected Member Functions

virtual std::ostream & toStream (std::ostream &s) const
 Performs an output operation on a stream which is returned afterward.
 

Detailed Description

MeshViz List of volume cells interface.

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);

Definition at line 47 of file MiTopologyIjk.h.

Member Function Documentation

◆ getNumCellsI()

virtual size_t MiTopologyIjk::getNumCellsI ( ) const
pure virtual

Returns the number of cells on the first logical axis.

The maximum supported value is 65535.

◆ getNumCellsJ()

virtual size_t MiTopologyIjk::getNumCellsJ ( ) const
pure virtual

Returns the number of cells on the second logical axis.

The maximum supported value is 65535.

◆ getNumCellsK()

virtual size_t MiTopologyIjk::getNumCellsK ( ) const
pure virtual

Returns the number of cells on the third logical axis.

The maximum supported value is 65535.

◆ isDead()

virtual bool MiTopologyIjk::isDead ( size_t  i,
size_t  j,
size_t  k 
) const
inlinevirtual

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.

Parameters
(i,j,k)the index of the cell to check

Definition at line 77 of file MiTopologyIjk.h.

◆ toStream()

virtual std::ostream & MiTopologyIjk::toStream ( std::ostream &  s) const
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.

Reimplemented from MiTopology.

Definition at line 83 of file MiTopologyIjk.h.


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