Skin extractor for an unstructured volume mesh. More...
#include <MeshVizXLM/extractors/MiSkinExtractUnstructured.h>
Public Member Functions | |
virtual | ~MiSkinExtractUnstructured () |
virtual void | addCellRange (size_t rbegin, size_t rend)=0 |
virtual void | clearCellRanges ()=0 |
virtual const MeXSurfaceMeshUnstructured & | extractSkin (const MiCellFilterI *cellFilter=NULL)=0 |
virtual const MeXLineMeshUnstructured & | extractLineSkin (const MiCellFilterI *cellFilter=NULL)=0 |
virtual const MeXPointMeshCurvilinear & | extractPoints (const MiCellFilterI *cellFilter=NULL)=0 |
virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetI &inputSet)=0 |
virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetI &inputSet)=0 |
virtual const MeXSurfaceMeshUnstructured & | getExtract () const =0 |
virtual const MeXLineMeshUnstructured & | getLineExtract () const =0 |
virtual const MeXPointMeshCurvilinear & | getPointExtract () const =0 |
Static Public Member Functions | |
static MiSkinExtractUnstructured * | getNewInstance (const MiVolumeMeshUnstructured &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
Performs 2 types of extraction:
extractSkin() builds a MeXSurfaceMeshUnstructured interfaces containing the skin of the given mesh. The skin of a mesh is made up of all the faces that belong to only one cell. Scalar and vector sets can be mapped onto this surface by calling extractScalarSet() and extractVec3Set().
extractLineSkin() builds a MeXLineMeshUnstructured interface containing the line skin of the given mesh, which is made up of the edges from the faces that belong to the skin. When working with quadratic meshes, only outer edges of non-linear cells are extracted.
extractPoints() builds an MeXPointMeshCurvilinear interface containing the point skin of the given mesh, which is made up of the nodes from the faces that belong to the skin.
Internal faces and edges of a mesh will not be displayed except if they are adjacent to dead cells.
virtual MiSkinExtractUnstructured::~MiSkinExtractUnstructured | ( | ) | [inline, virtual] |
virtual void MiSkinExtractUnstructured::addCellRange | ( | size_t | rbegin, | |
size_t | rend | |||
) | [pure virtual] |
Add a new cell range constraint to iterate over when performing the skin extraction.
Default is to iterate over all cells in the mesh. Adding a new range to the extractor changes its state, thus triggering a new extraction when calling extractSkin() even if the mesh remains the same.
rbegin | the smallest cell index in the range. | |
rend | the largest cell index in the range (not included in extraction). Note: The value UNDEFINED_ID is interpreted as the minimum/maximum cell index available in the current mesh. |
virtual void MiSkinExtractUnstructured::clearCellRanges | ( | ) | [pure virtual] |
Remove all cell ranges previously added.
Clearing all ranges changes the extractor state, thus triggering a new extraction when calling extractSkin() even if the mesh remains the same.
virtual const MeXLineMeshUnstructured& MiSkinExtractUnstructured::extractLineSkin | ( | const MiCellFilterI * | cellFilter = NULL |
) | [pure virtual] |
Builds the topology and geometry of the line skin.
The line skin of the given mesh is made up of the edges from the faces that belong to the skin. When working with quadratic meshes, only outer edges of non-linear cells are extracted.
cellFilter | The cell filter. |
virtual const MeXPointMeshCurvilinear& MiSkinExtractUnstructured::extractPoints | ( | const MiCellFilterI * | cellFilter = NULL |
) | [pure virtual] |
Builds the topology and geometry of the point skin.
The point skin of the given mesh is made up of the nodes from the faces that belong to the skin.
cellFilter | The cell filter. |
virtual const MeXScalardSetI& MiSkinExtractUnstructured::extractScalarSet | ( | const MiScalardSetI & | inputSet | ) | [pure virtual] |
Extracts a scalar set from the volume mesh.
The scalars are mapped onto the current extracted skin refering to either the line skin or the surface skin depending on whether extractSkin() or extractLineSkin() was last called.
inputSet | the input scalar set defined on the volume mesh |
virtual const MeXSurfaceMeshUnstructured& MiSkinExtractUnstructured::extractSkin | ( | const MiCellFilterI * | cellFilter = NULL |
) | [pure virtual] |
Builds the topology and geometry of a mesh skin.
cellFilter | The cell filter. |
virtual const MeXVec3dSetI& MiSkinExtractUnstructured::extractVec3Set | ( | const MiVec3dSetI & | inputSet | ) | [pure virtual] |
Extracts a vector set from the volume mesh.
The vectors are mapped onto the current extracted skin refering to either the line skin or the surface skin depending on whether extractSkin() or extractLineSkin() was last called.
inputSet | the input vector set defined on the volume mesh |
virtual const MeXSurfaceMeshUnstructured& MiSkinExtractUnstructured::getExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a mesh.
virtual const MeXLineMeshUnstructured& MiSkinExtractUnstructured::getLineExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a line mesh.
static MiSkinExtractUnstructured* MiSkinExtractUnstructured::getNewInstance | ( | const MiVolumeMeshUnstructured & | mesh, | |
bool | parallel = true , |
|||
MiTessellator * | tessellator = NULL | |||
) | [static] |
Factory method returning a new instance of a class implementing this interface.
mesh | The input mesh | |
parallel | When true, tries to create an extract module using a parallel algorithm to speed up the extraction. | |
tessellator | The tessellator object used for tessellating non linear cells (quadratic,...). |
virtual const MeXPointMeshCurvilinear& MiSkinExtractUnstructured::getPointExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a point mesh.