Interface class defining a cell filter. More...
#include <MeshVizXLM/mesh/cell/MiCellFilter.h>
Public Member Functions | |
virtual | ~MiCellFilter () |
virtual size_t | getTimeStamp () const =0 |
This abstract class specifies the interface used for filtering cells.
Filtering cells is a way to specify which cells are used and which cells are ignored during the mesh extraction.
Each class implementing MiCellFilter must implement an acceptCell() method with either 1, 2 or 3 indices as arguments.
When the acceptCell() method returns false, the cell identified by these indices is not taken into account by the extraction. It is as if the mesh does not contain this cell.
In order to define a custom cell filter, create a class derived from one of the following classes.
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);
PEBIMeshViz, QuadraticWheelHexa27, Turbine, QuadraticHexa20, QuadraticHexa27, QuadraticTetra10, QuadraticTube, QuadraticWedge18, QuadraticWheelHexa20, QuadraticWheelTetra10, QuadraticWheelWedge18, WheelHexa8
virtual MiCellFilter::~MiCellFilter | ( | ) | [inline, virtual] |
virtual size_t MiCellFilter::getTimeStamp | ( | ) | const [pure virtual] |
Returns for this filter a unique time stamp across all filters in the application.
When the content of the filter changes, the time stamp must increase. The time stamp allows extractors to identify this filter and to be aware about any changes to it.