Open Inventor Release 2024.1.1
 
Loading...
Searching...
No Matches
MiPlaneSliceExtractIjk Class Referenceabstract

MeshViz Plane slice extractor for structured volume meshes More...

#include <MeshVizXLM/extractors/MiPlaneSliceExtractIjk.h>

+ Inheritance diagram for MiPlaneSliceExtractIjk:

Public Member Functions

virtual ~MiPlaneSliceExtractIjk ()
 
virtual const MeXSurfaceMeshUnstructuredextractSlice (const MbVec3< double > &normal, double distance, const MiCellFilterIjk *cellFilter=NULL)=0
 Builds the topology and geometry of a plane slice intersecting the volume mesh.
 
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetIjk &inputSet)=0
 Extracts a scalar set from the volume mesh.
 
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetIjk &inputSet)=0
 Extracts a vector set from 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 MiPlaneSliceExtractIjkgetNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 Factory method returning a new instance of a class implementing this interface.
 
static MiPlaneSliceExtractIjkgetNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 
static MiPlaneSliceExtractIjkgetNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 
static MiPlaneSliceExtractIjkgetNewInstance (const MiVolumeMeshVertexHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 

Detailed Description

MeshViz Plane slice extractor for structured volume meshes

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

Definition at line 47 of file MiPlaneSliceExtractIjk.h.

Constructor & Destructor Documentation

◆ ~MiPlaneSliceExtractIjk()

virtual MiPlaneSliceExtractIjk::~MiPlaneSliceExtractIjk ( )
inlinevirtual

Definition at line 50 of file MiPlaneSliceExtractIjk.h.

Member Function Documentation

◆ extractScalarSet()

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

Extracts a scalar set from the volume mesh.

The scalars are mapped onto the current extracted plane slice.

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

Implemented in MiPlaneSliceExtractHexahedronIjk.

◆ extractSlice()

virtual const MeXSurfaceMeshUnstructured & MiPlaneSliceExtractIjk::extractSlice ( const MbVec3< double > &  normal,
double  distance,
const MiCellFilterIjk cellFilter = NULL 
)
pure virtual

Builds the topology and geometry of a plane slice intersecting the volume mesh.

Returns
the plane slice extracted as an unstructured surface mesh.
Parameters
normalVector normal to the plane slice
distancePosition of the plane relatively to the origin along the normal
cellFilterThe cell filter object.
Returns
An unstructured surface mesh representing the plane slice

Implemented in MiPlaneSliceExtractHexahedronIjk.

◆ extractVec3Set()

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

Extracts a vector set from the volume mesh.

The vectors are mapped onto the current extracted plane slice.

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

Implemented in MiPlaneSliceExtractHexahedronIjk.

◆ getExtract()

virtual const MeXSurfaceMeshUnstructured & MiPlaneSliceExtractIjk::getExtract ( ) const
pure virtual

Returns the result of the extraction as a mesh.

Implemented in MiPlaneSliceExtractHexahedronIjk.

◆ getNewInstance() [1/4]

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

◆ getNewInstance() [2/4]

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

◆ getNewInstance() [3/4]

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

◆ getNewInstance() [4/4]

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

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