MiStreamlineExtractIjk Class Reference
[Streamline]

MeshViz Streamline extractor for structured volume meshes. More...

#include <MeshVizXLM/extractors/MiStreamlineExtractIjk.h>

Inheritance diagram for MiStreamlineExtractIjk:
MiStreamlineExtractBase MiBaseExtractor MiStreamlineExtractHexahedronIjk

List of all members.

Public Member Functions

virtual const std::vector
< const MeXLineMeshCurvilinear * > & 
extractStreamline (const MiVec3dSetIjk &inputdataset, const std::vector< MbVec3d > &startPoints, const MiCellFilterIjk *cellFilter=NULL)=0
virtual const std::vector
< const MeXScalardSetI * > & 
extractScalarSet (const MiScalardSetIjk &inputSet)=0
virtual const std::vector
< const MeXVec3dSetI * > & 
extractVec3Set (const MiVec3dSetIjk &inputSet)=0
virtual const std::vector
< const MeXLineMeshCurvilinear * > & 
getExtract () const =0



static MiStreamlineExtractIjkgetNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true)
static MiStreamlineExtractIjkgetNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true)
static MiStreamlineExtractIjkgetNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true)

Detailed Description

MeshViz Streamline extractor for structured volume meshes.

Builds a list of MiLineMeshCurvilinear interfaces containing streamlines starting from a list of source points and probes the input mesh to compute the values at the streamline nodes (See MiPointProbeUnstructured for settings on curvilinear mesh).
A streamline is a line that is everywhere tangent to a vector field. Streamlines are meaningless for unsteady flow, because time is not taken into account during the computation of the line. Streamlines are integrated from a given set of vectors using a Runge/Kutta method of order 2 .


Member Function Documentation

virtual const std::vector< const MeXScalardSetI* >& MiStreamlineExtractIjk::extractScalarSet ( const MiScalardSetIjk inputSet  )  [pure virtual]

Extracts from the mesh a list of scalar sets.

The scalars are mapped onto the current extracted streamlines. If the dataset is binded PER_NODE the scalars are interpolated and one scalar is binded per node of the extracted streamlines. Otherwise one scalar is binded per edge of the extracted streamlines.

Parameters:
inputSet the input scalar set defined on the original volume mesh
Returns:
the output scalar sets defined on the resulting edge meshes

Implemented in MiStreamlineExtractHexahedronIjk.

virtual const std::vector<const MeXLineMeshCurvilinear*>& MiStreamlineExtractIjk::extractStreamline ( const MiVec3dSetIjk inputdataset,
const std::vector< MbVec3d > &  startPoints,
const MiCellFilterIjk cellFilter = NULL 
) [pure virtual]

Builds the topology and geometry of the streamlines starting at the given points in the given dataset.

Parameters:
inputdataset Defines the vector field for the streamlines integration.
startPoints Defines the list of start points for the streamlines integration.
cellFilter The call filter.
Returns:
the extracted streamlines as a set of curvilinear line meshes.

Implemented in MiStreamlineExtractHexahedronIjk.

virtual const std::vector< const MeXVec3dSetI* >& MiStreamlineExtractIjk::extractVec3Set ( const MiVec3dSetIjk inputSet  )  [pure virtual]

Extracts from the mesh a vector set.

The vectors are mapped onto the current extracted streamlines. If the dataset is binded PER_NODE the vectors are interpolated and one vector is binded per node of the extracted streamlines. Otherwise one vector is binded per edge of the extracted streamlines.

Parameters:
inputSet the input vector set defined on the original volume mesh
Returns:
the output scalar sets defined on the resulting edge meshes

Implemented in MiStreamlineExtractHexahedronIjk.

virtual const std::vector<const MeXLineMeshCurvilinear*>& MiStreamlineExtractIjk::getExtract (  )  const [pure virtual]

Returns the result of the extraction as a mesh.

static MiStreamlineExtractIjk* MiStreamlineExtractIjk::getNewInstance ( const MiVolumeMeshCurvilinear mesh,
bool  parallel = true 
) [static]

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

Parameters:
mesh The input mesh
parallel When true, tries to create an extract module using a parallel algorithm to speed up the extraction.
Note:
Only some of the extraction algorithms have a parallel implementation.
static MiStreamlineExtractIjk* MiStreamlineExtractIjk::getNewInstance ( const MiVolumeMeshRectilinear mesh,
bool  parallel = true 
) [static]

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

Parameters:
mesh The input mesh
parallel When true, tries to create an extract module using a parallel algorithm to speed up the extraction.
Note:
Only some of the extraction algorithms have a parallel implementation.
static MiStreamlineExtractIjk* MiStreamlineExtractIjk::getNewInstance ( const MiVolumeMeshRegular mesh,
bool  parallel = true 
) [static]

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

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