MiSkinExtractIjk Class Reference
[Skin]

MeshViz Skin extractor for a structured volume mesh. More...

#include <MeshVizXLM/extractors/MiSkinExtractIjk.h>

Inheritance diagram for MiSkinExtractIjk:
MiBaseExtractor MiSkinExtractHexahedronIjk

List of all members.

Public Member Functions

virtual ~MiSkinExtractIjk ()
virtual void addCellRange (MbVec3ui rbegin, MbVec3ui rend)=0
virtual void clearCellRanges ()=0
virtual const
MeXSurfaceMeshUnstructured
extractSkin (const MiCellFilterIjk *cellFilter=NULL)=0
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetIjk &inputSet)=0
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetIjk &inputSet)=0
virtual const
MeXSurfaceMeshUnstructured
getExtract () const =0



static MiSkinExtractIjkgetNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
static MiSkinExtractIjkgetNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
static MiSkinExtractIjkgetNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
static MiSkinExtractIjkgetNewInstance (const MiVolumeMeshVertexHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL)

Detailed Description

MeshViz Skin extractor for a structured volume mesh.

Builds an MiSurfaceMeshUnstructured interface containing the mesh skin for the given data set at the given value. The skin of a mesh is made up of all the faces that belong to only one cell. Internal faces of a mesh will not be displayed unless they are adjacent to dead cells.

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

Bench_MultipleExtractors, Bench_Skin


Constructor & Destructor Documentation

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

Member Function Documentation

virtual void MiSkinExtractIjk::addCellRange ( MbVec3ui  rbegin,
MbVec3ui  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 indices (i,j,k) in the range.
rend the largest cell indices (i,j,k) in the range (not included in extraction). Note: The value UNDEFINED_ID may be used for any index and is interpreted as the minimum/maximum cell index available in the current mesh for that axis.
virtual void MiSkinExtractIjk::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 MeXScalardSetI& MiSkinExtractIjk::extractScalarSet ( const MiScalardSetIjk inputSet  )  [pure virtual]

Extracts a scalar set from the volume mesh.

The scalars are mapped onto the current extracted skin.

Parameters:
inputSet the input scalar set defined on the volume mesh
Returns:
the output scalar set defined on the resulting surface mesh

Implemented in MiSkinExtractHexahedronIjk.

virtual const MeXSurfaceMeshUnstructured& MiSkinExtractIjk::extractSkin ( const MiCellFilterIjk 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& MiSkinExtractIjk::extractVec3Set ( const MiVec3dSetIjk inputSet  )  [pure virtual]

Extracts a vector set from the volume mesh.

The vectors are mapped onto the current extracted skin.

Parameters:
inputSet the input vec3 set defined on the volume mesh
Returns:
the output scalar set defined on the resulting surface mesh

Implemented in MiSkinExtractHexahedronIjk.

virtual const MeXSurfaceMeshUnstructured& MiSkinExtractIjk::getExtract (  )  const [pure virtual]

Returns the result of the extraction as a mesh.

static MiSkinExtractIjk* MiSkinExtractIjk::getNewInstance ( const MiVolumeMeshVertexHexahedronIjk 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.

static MiSkinExtractIjk* MiSkinExtractIjk::getNewInstance ( const MiVolumeMeshRectilinear 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.

static MiSkinExtractIjk* MiSkinExtractIjk::getNewInstance ( const MiVolumeMeshCurvilinear 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.

static MiSkinExtractIjk* MiSkinExtractIjk::getNewInstance ( const MiVolumeMeshRegular 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.


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/