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

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

#include <MeshVizXLM/extractors/MiCylinderSliceExtractUnstructured.h>

+ Inheritance diagram for MiCylinderSliceExtractUnstructured:

Public Member Functions

virtual ~MiCylinderSliceExtractUnstructured ()
 
virtual const MeXSurfaceMeshUnstructuredextractSlice (const MbVec3< double > &center, double radius, const MbVec3< double > &direction, const MiCellFilterI *cellFilter=NULL)=0
 Builds the topology and geometry of a cylinder slice intersecting the volume mesh.
 
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetI &inputSet)=0
 Extracts a scalar set from the original mesh.
 
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetI &inputSet)=0
 Extracts a vector set from the original 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 MiCylinderSliceExtractUnstructuredgetNewInstance (const MiVolumeMeshUnstructured &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
 Factory method returning a new instance of a class implementing this interface.
 

Detailed Description

MeshViz Cylinder slice extractor for unstructured volume meshes

A cylinder slice is a surface mesh defined by the intersection of a cylinder of infinite length with the input mesh. The cylinder is defined by a point on its central axis, a vector representing the central axis direction and the radius.

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 cylinder slice from a mesh:

MiCylinderSliceExtractUnstructured* cylinderSliceExtract =
const MeXSurfaceMeshUnstructured& cylinderSlice =
cylinderSliceExtract->extractSlice(center, radius, direction, 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> Cylinder slice extractor...
virtual const MeXSurfaceMeshUnstructured & extractSlice(const MbVec3< double > &center, double radius, const MbVec3< double > &direction, const MiCellFilterI *cellFilter=NULL)=0
Builds the topology and geometry of a cylinder slice intersecting the volume mesh.
static MiCylinderSliceExtractUnstructured * getNewInstance(const MiVolumeMeshUnstructured &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
Factory method returning a new instance of a class implementing this interface.

Definition at line 62 of file MiCylinderSliceExtractUnstructured.h.

Constructor & Destructor Documentation

◆ ~MiCylinderSliceExtractUnstructured()

virtual MiCylinderSliceExtractUnstructured::~MiCylinderSliceExtractUnstructured ( )
inlinevirtual

Definition at line 65 of file MiCylinderSliceExtractUnstructured.h.

Member Function Documentation

◆ extractScalarSet()

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

Extracts a scalar set from the original mesh.

The scalars are mapped onto the current extracted mesh.

Parameters
inputSetThe input scalar set defined on the original mesh.
Returns
The output scalar set defined on the extracted mesh.

◆ extractSlice()

virtual const MeXSurfaceMeshUnstructured & MiCylinderSliceExtractUnstructured::extractSlice ( const MbVec3< double > &  center,
double  radius,
const MbVec3< double > &  direction,
const MiCellFilterI cellFilter = NULL 
)
pure virtual

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

Parameters
centerA point located on the axis of the cylinder
radiusThe radius of the cylinder
directionA vector representing the axis of the cylinder
cellFilterThe cell filter object.
Returns
An unstructured surface mesh representing the cylinder slice

◆ extractVec3Set()

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

Extracts a vector set from the original mesh.

The vectors are mapped onto the current extracted mesh.

Parameters
inputSetThe input vector set defined on the original mesh.
Returns
The output vector set defined on the extracted mesh.

◆ getExtract()

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

Returns the result of the extraction as a mesh.

◆ getNewInstance()

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