MiIsosurfExtractUnstructured Class Reference
[Isosurface]

MeshViz Isosurface extractor for unstructured meshes More...

#include <MeshVizXLM/extractors/MiIsosurfExtractUnstructured.h>

Inheritance diagram for MiIsosurfExtractUnstructured:
MiBaseExtractor

List of all members.

Public Member Functions

virtual ~MiIsosurfExtractUnstructured ()
virtual const
MeXSurfaceMeshUnstructured
extractIsovalue (double isovalue, const MiScalardSetI &dataSet, const MiCellFilterI *cellFilter=NULL)=0
virtual const
MeXLineMeshUnstructured
extractLineIsovalue (double isovalue, const MiScalardSetI &dataSet, 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

Static Public Member Functions

static
MiIsosurfExtractUnstructured
getNewInstance (const MiVolumeMeshUnstructured &mesh, bool parallel=true, MiTessellator *tessellator=NULL)

Detailed Description

MeshViz Isosurface extractor for unstructured meshes

Builds the isosurface of the given isovalue in the given dataset.

When MiVolumeCell::getIsosurfTopology() cannot be defined in polyhedral cells, an MiTessellator::getNewTessellatorPolyhedron() is required as an argument of getNewInstance() to produce a volume mesh made up of cells compatible with the marching cube algorithm.

Note:
Only instances from MiTessellator::getNewTessellatorPolyhedron() are supported, any other types derived from MiTessellator will be ignored.
See related examples:

Bench_Isosurf, MultipleBenchmark


Constructor & Destructor Documentation

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

Member Function Documentation

virtual const MeXSurfaceMeshUnstructured& MiIsosurfExtractUnstructured::extractIsovalue ( double  isovalue,
const MiScalardSetI dataSet,
const MiCellFilterI cellFilter = NULL 
) [pure virtual]

Builds the isosurface of the given isovalue in the given dataset as a surface mesh.

Note:
In the case of a dataset bound PER_CELL, it will be converted into a new internal dataset bound PER_NODE and cached in the extractor.
Parameters:
isovalue Value for which an isosurface must be computed
dataSet The input data set used to compute the isovalue from. When extracting from a MiVolumeMeshVertexHexahedronIjk, this dataset must be bound PER_CELL, otherwise the extraction will thow a std::exception.
cellFilter The cell filter
Returns:
The extracted isosurface

virtual const MeXLineMeshUnstructured& MiIsosurfExtractUnstructured::extractLineIsovalue ( double  isovalue,
const MiScalardSetI dataSet,
const MiCellFilterI cellFilter = NULL 
) [pure virtual]

Builds the isosurface of the given isovalue in the given dataset and as a line mesh representing the edges of each cell.

Note:
In the case of a dataset bound PER_CELL, it will be converted into a new internal dataset bound PER_NODE and cached in the extractor.
Parameters:
isovalue Value for which an isosurface must be computed
dataSet The input data set used to compute the isovalue from
cellFilter The cell filter
Returns:
The extracted isosurface as line mesh
virtual const MeXScalardSetI& MiIsosurfExtractUnstructured::extractScalarSet ( const MiScalardSetI inputSet  )  [pure virtual]

Extracts a scalar set from the volume mesh.

The scalars are mapped onto the current extracted isosurface refering to either the line mesh or the surface mesh depending on whether extractIsovalue() or extractLineIsovalue() 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 MeXVec3dSetI& MiIsosurfExtractUnstructured::extractVec3Set ( const MiVec3dSetI inputSet  )  [pure virtual]

Extracts a vector set from the volume mesh.

The vectors are mapped onto the current extracted isosurface refering to either the line mesh or the surface mesh depending on whether extractIsovalue() or extractLineIsovalue() 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& MiIsosurfExtractUnstructured::getExtract (  )  const [pure virtual]

Returns the result of the extraction as a mesh.

virtual const MeXLineMeshUnstructured& MiIsosurfExtractUnstructured::getLineExtract (  )  const [pure virtual]

Returns the result of the extraction as a line mesh.

static MiIsosurfExtractUnstructured* MiIsosurfExtractUnstructured::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.


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

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/