MiSkinExtractUnstructured Class Reference
[Skin]

MeshViz Skin extractor for an unstructured volume mesh. More...

#include <MeshVizXLM/extractors/MiSkinExtractUnstructured.h>

Inheritance diagram for MiSkinExtractUnstructured:
MiBaseExtractor

List of all members.

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 MeXScalardSetIextractScalarSet (const MiScalardSetI &inputSet)=0
virtual const MeXVec3dSetIextractVec3Set (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 MiSkinExtractUnstructuredgetNewInstance (const MiVolumeMeshUnstructured &mesh, bool parallel=true, MiTessellator *tessellator=NULL)

Detailed Description

MeshViz Skin extractor for an unstructured volume mesh.

Performs 3 types of extractions:

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.

extractScalarSet() builds the extracted scalarset corresponding to the latest skin extracted (surface, line or points).

extractVec3Set() builds the extracted vectorset corresponding to the latest skin extracted (surface, line or points).

Note:
The skin extraction processing can be cancelled by setting a MiExtractorCallback, which will throw a MiCancellationException.
See related examples:

Bench_MultipleExtractors, Bench_Skin, TessellatedSkin


Constructor & Destructor Documentation

virtual MiSkinExtractUnstructured::~MiSkinExtractUnstructured (  )  [inline, virtual]

Member Function Documentation

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. Note: For now, only the first added cellrange is considered during the extraction. Further added ones are ignored.

Parameters:
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. Throws a MiCancellationException if cancelled (see MiExtractorCallback).

Parameters:
cellFilter The cell filter.
Returns:
The line skin extracted as an unstructured line mesh.
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. Throws a MiCancellationException if cancelled (see MiExtractorCallback).

Parameters:
cellFilter The cell filter.
Returns:
the skin extracted as a point mesh.
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.

Parameters:
inputSet the input scalar set defined on the volume mesh
Returns:
the output scalar set defined on the latest extracted mesh
virtual const MeXSurfaceMeshUnstructured& MiSkinExtractUnstructured::extractSkin ( const MiCellFilterI cellFilter = NULL  )  [pure virtual]

Builds the topology and geometry of a mesh skin. Throws a MiCancellationException if cancelled (see MiExtractorCallback).

Parameters:
cellFilter The cell filter.
Returns:
The skin extracted as an unstructured surface mesh.

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.

Parameters:
inputSet the input vector set defined on the volume mesh
Returns:
the output vector set defined on the latest extracted 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.

Parameters:
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,...).
Note:
Only some of the extraction algorithms have a parallel implementation.

virtual const MeXPointMeshCurvilinear& MiSkinExtractUnstructured::getPointExtract (  )  const [pure virtual]

Returns the result of the extraction as a point mesh.


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

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/