List of cells interface. More...
#include <MeshVizXLM/mesh/topology/MiTopology.h>
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. | |
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.
|
inlinevirtual |
Definition at line 47 of file MiTopology.h.
|
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.
|
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.
|
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.
|
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.