MiCylinderSliceExtractIjk Class Reference
[Slice]

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

#include <MeshVizXLM/extractors/MiCylinderSliceExtractIjk.h>

Inheritance diagram for MiCylinderSliceExtractIjk:
MiBaseExtractor MiCylinderSliceExtractHexahedronIjk

List of all members.

Public Member Functions

virtual ~MiCylinderSliceExtractIjk ()
virtual const
MeXSurfaceMeshUnstructured
extractSlice (const MbVec3< double > &center, double radius, const MbVec3< double > &direction, const MiCellFilterIjk *cellFilter=NULL)=0
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetIjk &inputSet)=0
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetIjk &inputSet)=0
virtual const
MeXSurfaceMeshUnstructured
getExtract () const =0



static MiCylinderSliceExtractIjkgetNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
static MiCylinderSliceExtractIjkgetNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
static MiCylinderSliceExtractIjkgetNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL)
static MiCylinderSliceExtractIjkgetNewInstance (const MiVolumeMeshVertexHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL)

Detailed Description

MeshViz Cylinder slice extractor for structured 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:

   MiCylinderSliceExtractIjk* cylinderSliceExtract = MiCylinderSliceExtractIjk::getNewInstance(mesh);
   const MeXSurfaceMeshUnstructured& cylinderSlice =
     cylinderSliceExtract->extractSlice(center, radius, direction, NULL);

Constructor & Destructor Documentation

virtual MiCylinderSliceExtractIjk::~MiCylinderSliceExtractIjk (  )  [inline, virtual]

Member Function Documentation

virtual const MeXScalardSetI& MiCylinderSliceExtractIjk::extractScalarSet ( const MiScalardSetIjk inputSet  )  [pure virtual]

Extracts a scalar set from the original mesh. The scalars are mapped onto the current extracted mesh.

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

Implemented in MiCylinderSliceExtractHexahedronIjk.

virtual const MeXSurfaceMeshUnstructured& MiCylinderSliceExtractIjk::extractSlice ( const MbVec3< double > &  center,
double  radius,
const MbVec3< double > &  direction,
const MiCellFilterIjk cellFilter = NULL 
) [pure virtual]

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

Parameters:
center A point located on the axis of the cylinder
radius The radius of the cylinder
direction A vector representing the axis of the cylinder
cellFilter The cell filter object.
Returns:
An unstructured surface mesh representing the cylinder slice
virtual const MeXVec3dSetI& MiCylinderSliceExtractIjk::extractVec3Set ( const MiVec3dSetIjk inputSet  )  [pure virtual]

Extracts a vector set from the original mesh. The vectors are mapped onto the current extracted mesh.

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

Implemented in MiCylinderSliceExtractHexahedronIjk.

virtual const MeXSurfaceMeshUnstructured& MiCylinderSliceExtractIjk::getExtract (  )  const [pure virtual]

Returns the result of the extraction as a mesh.

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

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

Parameters:
mesh The input mesh
parallel When true, tries to create an extract module using a parallel algorithm to speed up the extraction.
tessellator The tessellator object used for tessellating non linear cells (quadratic,...).
Note:
Only some of the extraction algorithms have a parallel implementation.

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

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

Parameters:
mesh The input mesh
parallel When true, tries to create an extract module using a parallel algorithm to speed up the extraction.
tessellator The tessellator object used for tessellating non linear cells (quadratic,...).
Note:
Only some of the extraction algorithms have a parallel implementation.

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

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

Parameters:
mesh The input mesh
parallel When true, tries to create an extract module using a parallel algorithm to speed up the extraction.
tessellator The tessellator object used for tessellating non linear cells (quadratic,...).
Note:
Only some of the extraction algorithms have a parallel implementation.

static MiCylinderSliceExtractIjk* MiCylinderSliceExtractIjk::getNewInstance ( const MiVolumeMeshRegular mesh,
bool  parallel = true,
MiTessellator tessellator = NULL 
) [static]

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

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

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/