Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
MiFenceSliceExtractUnstructured Class Referenceabstract

MeshViz Fence slice extractor for unstructured volume meshes More...

#include <MeshVizXLM/extractors/MiFenceSliceExtractUnstructured.h>

+ Inheritance diagram for MiFenceSliceExtractUnstructured:

Public Member Functions

virtual ~MiFenceSliceExtractUnstructured ()
 
virtual const MeXSurfaceMeshUnstructuredextract (const MbVec3d &direction, const std::vector< MbVec3d > &polyline, const MiCellFilterI *cellFilter=NULL)=0
 Builds the topology and geometry of a fence slice intersecting the volume mesh.
 
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetI &inputSet)=0
 Extracts a scalar set from the volume mesh.
 
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetI &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 MiFenceSliceExtractUnstructuredgetNewInstance (const MiVolumeMeshUnstructured &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 Factory method returning a new instance of a class implementing this interface.
 

Detailed Description

MeshViz Fence slice extractor for unstructured volume meshes

A fence slice is an unstructured surface mesh defined by the intersection of several arbitrary planes (the fences) with a volume mesh. These fences are defined by a polyline and a direction. Each segment of the polyline is extruded along the direction to form a clipped plane slice. Thus, each fence goes through a segment of the polyline. Each plane slice is clipped by the extrusion of the 2 endpoints of each segment in the direction. The extracted fence slice is an unstructured surface.

SEE ALSO

MoMeshFenceSlice, MiFenceSliceExtractIjk, MiFenceSliceExtractHexahedronIjk

Definition at line 51 of file MiFenceSliceExtractUnstructured.h.

Constructor & Destructor Documentation

◆ ~MiFenceSliceExtractUnstructured()

virtual MiFenceSliceExtractUnstructured::~MiFenceSliceExtractUnstructured ( )
inlinevirtual

Definition at line 54 of file MiFenceSliceExtractUnstructured.h.

Member Function Documentation

◆ extract()

virtual const MeXSurfaceMeshUnstructured & MiFenceSliceExtractUnstructured::extract ( const MbVec3d direction,
const std::vector< MbVec3d > &  polyline,
const MiCellFilterI cellFilter = NULL 
)
pure virtual

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

Returns
the fence slice extracted as an unstructured surface mesh.
Parameters
directionvector defining the direction of the fences
polylineset of points defining the position of the fences
cellFilterThe cell filter object.
Returns
An unstructured surface mesh representing the fence slice

◆ extractScalarSet()

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

Extracts a scalar set from the volume mesh.

The scalars are mapped onto the current extracted fence slice referring to either the line mesh or the surface mesh depending on whether extract() or extractLine() was last called.

Parameters
inputSetthe input scalar set defined on the volume mesh
Returns
the output scalar set defined on the latest extracted mesh

◆ extractVec3Set()

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

Extracts a vector set from the volume mesh.

The vectors are mapped onto the current extracted fence slice referring to either the line mesh or the surface mesh depending on whether extractSlice() or extractLineSlice() was last called.

Parameters
inputSetthe input vector set defined on the volume mesh
Returns
the output vector set defined on the latest extracted mesh

◆ getExtract()

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

Returns the result of the extraction as a mesh.

◆ getNewInstance()

static MiFenceSliceExtractUnstructured * MiFenceSliceExtractUnstructured::getNewInstance ( const MiVolumeMeshUnstructured 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: