Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
MiTopology Class Referenceabstract

MeshViz List of cells interface. More...

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

+ Inheritance diagram for MiTopology:

Public Member Functions

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.
 

Friends

std::ostream & operator<< (std::ostream &s, const MiTopology &topo)
 Outputs the mesh to a stream using the toStream protected method implemented in all derived classes.
 

Detailed Description

MeshViz List of cells interface.

A generic abstract interface for a mesh 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 44 of file MiTopology.h.

Constructor & Destructor Documentation

◆ ~MiTopology()

virtual MiTopology::~MiTopology ( )
inlinevirtual

Definition at line 47 of file MiTopology.h.

Member Function Documentation

◆ getTimeStamp()

virtual size_t MiTopology::getTimeStamp ( ) const
pure virtual

Returns for this topology a unique time stamp across all topologies in the application.

When the content of the topology changes, the time stamp must increase. The time stamp allows extractors to identify this topology and to be aware of any changes to it.

Note
MxTimeStamp can be used to generate a valid time stamp.

◆ hasDeadCells()

virtual bool MiTopology::hasDeadCells ( ) const
inlinevirtual

Returns true if the topology contains dead cells.

When false, the cells traversal can be optimized by not testing the isDead() method of each individual cells. The default implementation returns always false.

Definition at line 62 of file MiTopology.h.

◆ toStream()

virtual std::ostream & MiTopology::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 in MiLineTopologyExplicitI, MiSurfaceTopologyExplicitI, MiTopologyIj, and MiTopologyIjk.

Definition at line 76 of file MiTopology.h.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  s,
const MiTopology topo 
)
friend

Outputs the mesh to a stream using the toStream protected method implemented in all derived classes.

Definition at line 67 of file MiTopology.h.


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