Open Inventor Release 2024.1.0
 
Loading...
Searching...
No Matches
MiSphereSliceExtractHexahedronIjk Class Referenceabstract

MeshViz Sphere slice extractor for hexahedron IJK volume meshes More...

#include <MeshVizXLM/extractors/MiSphereSliceExtractHexahedronIjk.h>

+ Inheritance diagram for MiSphereSliceExtractHexahedronIjk:

Public Member Functions

virtual ~MiSphereSliceExtractHexahedronIjk ()
 
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetI &inputSet)=0
 Computes a PER_NODE scalar set on the extracted sphere slice.
 
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetIjk &inputSet)=0
 Computes a PER_CELL scalar set on the extracted sphere slice.
 
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetI &inputSet)=0
 Computes a vector set on the extracted sphere slice.
 
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetIjk &inputSet)=0
 Computes a vector set on the extracted sphere slice.
 
- Public Member Functions inherited from MiSphereSliceExtractIjk
virtual ~MiSphereSliceExtractIjk ()
 
virtual const MeXSurfaceMeshUnstructuredextractSlice (const MbVec3< double > &center, double radius, const MiCellFilterIjk *cellFilter=NULL)=0
 Builds the topology and geometry of a sphere slice intersecting the volume mesh.
 
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 MiSphereSliceExtractHexahedronIjkgetNewInstance (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 MiSphereSliceExtractIjk
static MiSphereSliceExtractIjkgetNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 Factory method returning a new instance of a class implementing this interface.
 
static MiSphereSliceExtractIjkgetNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 
static MiSphereSliceExtractIjkgetNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 
static MiSphereSliceExtractIjkgetNewInstance (const MiVolumeMeshVertexHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 

Detailed Description

MeshViz Sphere slice extractor for hexahedron IJK volume meshes

A sphere slice is the intersection of a given sphere with the mesh volume. The extracted sphere slice is an unstructured surface mesh.

Additional data sets can be mapped onto this extracted surface by calling the extractScalarSet() or extractVec3Set() methods.

The following sample code shows how to extract a sphere slice from a mesh:

MiSphereSliceExtractHexahedronIjk* sphereSliceExtract =
const MeXSurfaceMeshUnstructured& sphereSlice =
sphereSliceExtract->extractSlice(center,radius, NULL);
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Extracted unstructured s...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Sphere slice extractor f...
static MiSphereSliceExtractHexahedronIjk * getNewInstance(const MiVolumeMeshHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
Factory method returning a new instance of a class implementing this interface.
virtual const MeXSurfaceMeshUnstructured & extractSlice(const MbVec3< double > &center, double radius, const MiCellFilterIjk *cellFilter=NULL)=0
Builds the topology and geometry of a sphere slice intersecting the volume mesh.

Definition at line 61 of file MiSphereSliceExtractHexahedronIjk.h.

Constructor & Destructor Documentation

◆ ~MiSphereSliceExtractHexahedronIjk()

virtual MiSphereSliceExtractHexahedronIjk::~MiSphereSliceExtractHexahedronIjk ( )
inlinevirtual

Definition at line 64 of file MiSphereSliceExtractHexahedronIjk.h.

Member Function Documentation

◆ extractScalarSet() [1/2]

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

Computes a PER_NODE scalar set on the extracted sphere slice.

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 sphere slice mesh

◆ extractScalarSet() [2/2]

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

Computes a PER_CELL scalar set on the extracted sphere slice.

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 sphere slice mesh

Implements MiSphereSliceExtractIjk.

◆ extractVec3Set() [1/2]

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

Computes a vector set on the extracted sphere slice.

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 sphere slice mesh

◆ extractVec3Set() [2/2]

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

Computes a vector set on the extracted sphere slice.

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 sphere slice mesh

Implements MiSphereSliceExtractIjk.

◆ getNewInstance()

static MiSphereSliceExtractHexahedronIjk * MiSphereSliceExtractHexahedronIjk::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: