Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
MiIsosurfExtractHexahedronIjk Class Referenceabstract

MeshViz Isosurface extractor for hexahedron IJK meshes More...

#include <MeshVizXLM/extractors/MiIsosurfExtractHexahedronIjk.h>

+ Inheritance diagram for MiIsosurfExtractHexahedronIjk:

Public Member Functions

virtual ~MiIsosurfExtractHexahedronIjk ()
 
virtual const MeXSurfaceMeshUnstructuredextractIsovalue (double isovalue, const MiScalardSetI &dataSet, const MiCellFilterIjk *cellFilter=NULL)=0
 Builds the isosurface of the given isovalue in the given PER_NODE dataset as a surface mesh.
 
virtual const MeXSurfaceMeshUnstructuredextractIsovalue (double isovalue, const MiScalardSetIjk &dataSet, const MiCellFilterIjk *cellFilter=NULL)=0
 Builds the isosurface of the given isovalue in the given PER_CELL dataset as a surface mesh.
 
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetI &inputSet)=0
 Computes a PER_NODE scalar set on the extracted isosurface.
 
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetIjk &inputSet)=0
 Computes a PER_CELL scalar set on the extracted isosurface.
 
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetI &inputSet)=0
 Computes a vector set on the extracted isosurface.
 
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetIjk &inputSet)=0
 Computes a vector set on the extracted isosurface.
 
- Public Member Functions inherited from MiIsosurfExtractIjk
virtual ~MiIsosurfExtractIjk ()
 
virtual const MeXSurfaceMeshUnstructuredgetExtract () const =0
 Returns the result of the extraction as a mesh.
 
- Public Member Functions inherited from MiBaseExtractor
virtual ~MiBaseExtractor ()
 
virtual void setExtractorCallback (MiExtractorCallback *extractorCallback)=0
 Set the user defined extractor callback which will be called before each extraction, during each extraction and after each extraction.
 
virtual SoDEPRECATED void setExtractorCallback (MiExtractorCallback &extractorCallback)
 

Static Public Member Functions

static MiIsosurfExtractHexahedronIjkgetNewInstance (const MiVolumeMeshHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 Factory method returning a new instance of a class implementing this interface.
 
- Static Public Member Functions inherited from MiIsosurfExtractIjk
static MiIsosurfExtractIjkgetNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 Factory method returning a new instance of a class implementing this interface.
 
static MiIsosurfExtractIjkgetNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 
static MiIsosurfExtractIjkgetNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 
static MiIsosurfExtractIjkgetNewInstance (const MiVolumeMeshVertexHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 

Detailed Description

MeshViz Isosurface extractor for hexahedron IJK meshes

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

Definition at line 44 of file MiIsosurfExtractHexahedronIjk.h.

Constructor & Destructor Documentation

◆ ~MiIsosurfExtractHexahedronIjk()

virtual MiIsosurfExtractHexahedronIjk::~MiIsosurfExtractHexahedronIjk ( )
inlinevirtual

Definition at line 47 of file MiIsosurfExtractHexahedronIjk.h.

Member Function Documentation

◆ extractIsovalue() [1/2]

virtual const MeXSurfaceMeshUnstructured & MiIsosurfExtractHexahedronIjk::extractIsovalue ( double  isovalue,
const MiScalardSetI dataSet,
const MiCellFilterIjk cellFilter = NULL 
)
pure virtual

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

Note
MiScalardSetI dataset must always be bound PER_NODE to the mesh, otherwise use MiScalarSetIjk.
Parameters
isovalueValue for which an isosurface must be computed
dataSetThe input PER_NODE data set used to compute the isovalue from
cellFilterThe cell filter
Returns
The extracted isosurface

◆ extractIsovalue() [2/2]

virtual const MeXSurfaceMeshUnstructured & MiIsosurfExtractHexahedronIjk::extractIsovalue ( double  isovalue,
const MiScalardSetIjk dataSet,
const MiCellFilterIjk cellFilter = NULL 
)
pure virtual

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

Note
MiScalardSetIjk dataset must always be bound PER_CELL to the mesh, otherwise use MiScalarSetI.
In this 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
isovalueValue for which an isosurface must be computed
dataSetThe input data set used to compute the isovalue from
cellFilterThe cell filter
Returns
The extracted isosurface

Implements MiIsosurfExtractIjk.

◆ extractScalarSet() [1/2]

virtual const MeXScalardSetI & MiIsosurfExtractHexahedronIjk::extractScalarSet ( const MiScalardSetI inputSet)
pure virtual

Computes a PER_NODE scalar set on the extracted isosurface.

Note : The argument i of the method MiScalardSetI::get(i) refers to the i-th node of the mesh. Thus the binding of the inputSet must be PER_NODE. An exception is thrown otherwise.

Parameters
inputSetthe input scalar set defined on the volume mesh
Returns
the output scalar set defined on the resulting isosurface mesh

◆ extractScalarSet() [2/2]

virtual const MeXScalardSetI & MiIsosurfExtractHexahedronIjk::extractScalarSet ( const MiScalardSetIjk inputSet)
pure virtual

Computes a PER_CELL scalar set on the extracted isosurface.

Note : The argument i,j,k of the method MiScalardSetIjk::get(i,j,k) refers to the cell (i,j,k). Thus the binding of the inputSet must be PER_CELL. An exception is thrown otherwise.

Parameters
inputSetthe input scalar set defined on the volume mesh
Returns
the output scalar set defined on the resulting isosurface mesh

Implements MiIsosurfExtractIjk.

◆ extractVec3Set() [1/2]

virtual const MeXVec3dSetI & MiIsosurfExtractHexahedronIjk::extractVec3Set ( const MiVec3dSetI inputSet)
pure virtual

Computes a vector set on the extracted isosurface.

Note : The argument i of the method MiVec3dSetI::get(i) refers to the i-th node of the mesh. Thus the binding of the inputSet must be PER_NODE. An exception is thrown otherwise.

Parameters
inputSetthe input vector set defined on the volume mesh
Returns
the output scalar set defined on the resulting isosurface mesh

◆ extractVec3Set() [2/2]

virtual const MeXVec3dSetI & MiIsosurfExtractHexahedronIjk::extractVec3Set ( const MiVec3dSetIjk inputSet)
pure virtual

Computes a vector set on the extracted isosurface.

Note : The argument i,j,k of the method MiVec3dSetIjk::get(i,j,k) refers to the cell (i,j,k). Thus the binding of the inputSet must be PER_CELL. An exception is thrown otherwise.

Parameters
inputSetthe input vector set defined on the volume mesh
Returns
the output scalar set defined on the resulting isosurface mesh

Implements MiIsosurfExtractIjk.

◆ getNewInstance()

static MiIsosurfExtractHexahedronIjk * MiIsosurfExtractHexahedronIjk::getNewInstance ( const MiVolumeMeshHexahedronIjk mesh,
bool  parallel = true,
MiTessellator tessellator = NULL 
)
static

Factory method returning a new instance of a class implementing this interface.

Parameters
meshThe input mesh
parallelWhen true, tries to create an extract module using a parallel algorithm to speed up the extraction.
tessellatorThe 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: