Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
MiStreamlineExtractUnstructured Class Referenceabstract

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

#include <MeshVizXLM/extractors/MiStreamlineExtractUnstructured.h>

+ Inheritance diagram for MiStreamlineExtractUnstructured:

Public Member Functions

virtual const std::vector< const MeXLineMeshCurvilinear * > & extractStreamline (const MiVec3dSetI &inputDataSet, const std::vector< MbVec3d > &startPoints, const MiCellFilterI *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 MiScalardSetI &inputSet)=0
 Extracts from the mesh a list of scalar sets.
 
virtual const std::vector< const MeXVec3dSetI * > & extractVec3Set (const MiVec3dSetI &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 MiStreamlineExtractUnstructuredgetNewInstance (const MiVolumeMeshUnstructured &mesh, bool parallel=true)
 Factory method returning a new instance of a class implementing this abstract class.
 
static MiStreamlineExtractUnstructuredgetNewInstance (const MiSurfaceMeshUnstructured &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 unstructured 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).
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 53 of file MiStreamlineExtractUnstructured.h.

Member Function Documentation

◆ extractScalarSet()

virtual const std::vector< const MeXScalardSetI * > & MiStreamlineExtractUnstructured::extractScalarSet ( const MiScalardSetI 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

◆ extractStreamline()

virtual const std::vector< const MeXLineMeshCurvilinear * > & MiStreamlineExtractUnstructured::extractStreamline ( const MiVec3dSetI inputDataSet,
const std::vector< MbVec3d > &  startPoints,
const MiCellFilterI cellFilter = NULL 
)
pure virtual

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

The resulting streamlines can be retrieved by calling getExtract().

Parameters
inputDataSetDefines the vector field for the streamlines integration
startPointsDefines the list of start points for the streamlines integration
cellFilterThe cell filter
Returns
the extracted streamlines as curvilinear line meshes

◆ extractVec3Set()

virtual const std::vector< const MeXVec3dSetI * > & MiStreamlineExtractUnstructured::extractVec3Set ( const MiVec3dSetI 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

◆ getExtract()

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

Returns the result of the extraction as a mesh.

◆ getNewInstance() [1/2]

static MiStreamlineExtractUnstructured * MiStreamlineExtractUnstructured::getNewInstance ( const MiSurfaceMeshUnstructured mesh,
bool  parallel = true 
)
static

◆ getNewInstance() [2/2]

static MiStreamlineExtractUnstructured * MiStreamlineExtractUnstructured::getNewInstance ( const MiVolumeMeshUnstructured 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: