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

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

#include <MeshVizXLM/extractors/MiStreamlineExtractIjk.h>

+ Inheritance diagram for MiStreamlineExtractIjk:

Public Member Functions

virtual const std::vector< const MeXLineMeshCurvilinear * > & extractStreamline (const MiVec3dSetIjk &inputdataset, const std::vector< MbVec3d > &startPoints, const MiCellFilterIjk *cellFilter=NULL)=0
 Builds the topology and geometry of the streamlines starting at the given points in the given dataset.
 
virtual const std::vector< const MeXScalardSetI * > & extractScalarSet (const MiScalardSetIjk &inputSet)=0
 Extracts from the mesh a list of scalar sets.
 
virtual const std::vector< const MeXVec3dSetI * > & extractVec3Set (const MiVec3dSetIjk &inputSet)=0
 Extracts from the mesh a vector set.
 
virtual const std::vector< const MeXLineMeshCurvilinear * > & getExtract () const =0
 Returns the result of the extraction as a mesh.
 
- Public Member Functions inherited from MiStreamlineExtractBase
virtual ~MiStreamlineExtractBase ()
 
virtual void setMaxLifeTime (double maxLifeTime)
 Sets the maximum life time of the streamlines.
 
virtual void setMaxLength (double maxLength)
 Sets the maximum length of the streamlines.
 
virtual void setMinSpeed (double minSpeed)
 Sets the minimum speed of the streamlines.
 
virtual void setIntegrationStepLengthFactor (double factor)
 Sets the step length factor for the streamlines integration.
 
virtual void setIntegrationMaxStepNumber (int maxStepNumber)
 Sets the maximum step number during the streamlines integration.
 
virtual void setIntegrationDirection (IntegrationDirection direction)
 Sets the direction for the streamlines integration.
 
- 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 MiStreamlineExtractIjkgetNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true)
 Factory method returning a new instance of a class implementing this abstract class.
 
static MiStreamlineExtractIjkgetNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true)
 
static MiStreamlineExtractIjkgetNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true)
 

Additional Inherited Members

- Public Types inherited from MiStreamlineExtractBase
enum  IntegrationDirection {
  FORWARD ,
  BACKWARD
}
 Integration direction. More...
 

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 .

Definition at line 54 of file MiStreamlineExtractIjk.h.

Member Function Documentation

◆ extractScalarSet()

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
inputSetthe input scalar set defined on the original volume mesh
Returns
the output scalar sets defined on the resulting edge meshes

Implemented in MiStreamlineExtractHexahedronIjk.

◆ extractStreamline()

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
inputdatasetDefines the vector field for the streamlines integration.
startPointsDefines the list of start points for the streamlines integration.
cellFilterThe call filter.
Returns
the extracted streamlines as a set of curvilinear line meshes.

Implemented in MiStreamlineExtractHexahedronIjk.

◆ extractVec3Set()

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
inputSetthe input vector set defined on the original volume mesh
Returns
the output scalar sets defined on the resulting edge meshes

Implemented in MiStreamlineExtractHexahedronIjk.

◆ getExtract()

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

Returns the result of the extraction as a mesh.

◆ getNewInstance() [1/3]

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

◆ getNewInstance() [2/3]

static MiStreamlineExtractIjk * MiStreamlineExtractIjk::getNewInstance ( const MiVolumeMeshRectilinear mesh,
bool  parallel = true 
)
static

◆ getNewInstance() [3/3]

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
meshThe input mesh
parallelWhen 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: