MiFenceSliceExtractIjk Class Reference
[Slice]

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

#include <MeshVizXLM/extractors/MiFenceSliceExtractIjk.h>

Inheritance diagram for MiFenceSliceExtractIjk:
MiBaseExtractor MiFenceSliceExtractUnstructuredIjk

List of all members.

Public Member Functions

virtual ~MiFenceSliceExtractIjk ()
virtual const
MeXSurfaceMeshUnstructured
extract (const MbVec3d &direction, const std::vector< MbVec3d > &polyline, 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 Public Member Functions

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

Detailed Description

MeshViz Fence slice extractor for structured 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, MiFenceSliceExtractUnstructured, MiFenceSliceExtractUnstructuredIjk


Constructor & Destructor Documentation

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

Member Function Documentation

virtual const MeXSurfaceMeshUnstructured& MiFenceSliceExtractIjk::extract ( const MbVec3d direction,
const std::vector< MbVec3d > &  polyline,
const MiCellFilterIjk 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:
direction vector defining the direction of the fences
polyline set of points defining the position of the fences
cellFilter The cell filter object.
Returns:
An unstructured surface mesh representing the fence slice
virtual const MeXScalardSetI& MiFenceSliceExtractIjk::extractScalarSet ( const MiScalardSetIjk inputSet  )  [pure virtual]

Extracts a scalar set from the volume mesh.

The scalars are mapped onto the current extracted fence slice.

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

Implemented in MiFenceSliceExtractUnstructuredIjk.

virtual const MeXVec3dSetI& MiFenceSliceExtractIjk::extractVec3Set ( const MiVec3dSetIjk inputSet  )  [pure virtual]

Extracts a vector set from the volume mesh.

The vectors are mapped onto the current extracted fence slice.

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

Implemented in MiFenceSliceExtractUnstructuredIjk.

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

Returns the result of the extraction as a mesh.

static MiFenceSliceExtractIjk* MiFenceSliceExtractIjk::getNewInstance ( const MiVolumeMeshVertexHexahedronIjk mesh,
bool  parallel = true,
MiTessellator tessellator = NULL 
) [static]
static MiFenceSliceExtractIjk* MiFenceSliceExtractIjk::getNewInstance ( const MiVolumeMeshCurvilinear mesh,
bool  parallel = true,
MiTessellator tessellator = NULL 
) [static]
static MiFenceSliceExtractIjk* MiFenceSliceExtractIjk::getNewInstance ( const MiVolumeMeshRectilinear mesh,
bool  parallel = true,
MiTessellator tessellator = NULL 
) [static]
static MiFenceSliceExtractIjk* MiFenceSliceExtractIjk::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 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/