Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
MiStreamlineExtractHexahedronIjk Class Referenceabstract

MeshViz Streamline extractor for hexahedron IJK volume meshes. More...

#include <MeshVizXLM/extractors/MiStreamlineExtractHexahedronIjk.h>

+ Inheritance diagram for MiStreamlineExtractHexahedronIjk:

Public Member Functions

virtual const std::vector< const MeXLineMeshCurvilinear * > & extractStreamline (const MiVec3dSetI &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 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 MiScalardSetI &inputSet)=0
 Computes a PER_NODE scalar set on the extracted streamlines.
 
virtual const std::vector< const MeXScalardSetI * > & extractScalarSet (const MiScalardSetIjk &inputSet)=0
 Computes a PER_CELL scalar set on the extracted isosurface.
 
virtual const std::vector< const MeXVec3dSetI * > & extractVec3Set (const MiVec3dSetI &inputSet)=0
 Computes a vector set on the extracted isosurface.
 
virtual const std::vector< const MeXVec3dSetI * > & extractVec3Set (const MiVec3dSetIjk &inputSet)=0
 Computes a vector set on the extracted isosurface.
 
- Public Member Functions inherited from MiStreamlineExtractIjk
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 MiStreamlineExtractHexahedronIjkgetNewInstance (const MiVolumeMeshHexahedronIjk &mesh, bool parallel=true)
 Factory method returning a new instance of a class implementing this abstract class.
 
- Static Public Member Functions inherited from MiStreamlineExtractIjk
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 hexahedron IJK 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 52 of file MiStreamlineExtractHexahedronIjk.h.

Member Function Documentation

◆ extractScalarSet() [1/2]

virtual const std::vector< const MeXScalardSetI * > & MiStreamlineExtractHexahedronIjk::extractScalarSet ( const MiScalardSetI inputSet)
pure virtual

Computes a PER_NODE scalar set on the extracted streamlines.

Note : The argument i of the method MiScalardSetI::get(i) refers to the i-th node of the mesh. Thus the binding of the inputSet must be PER_NODE. An exception is thrown otherwise.

Parameters
inputSetthe input scalar set defined on the volume mesh
Returns
the output scalar sets defined on the resulting streamline meshes

◆ extractScalarSet() [2/2]

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

Computes a PER_CELL scalar set on the extracted isosurface.

Note : The argument i,j,k of the method MiScalardSetIjk::get(i,j,k) refers to the cell (i,j,k). Thus the binding of the inputSet must be PER_CELL. An exception is thrown otherwise.

Parameters
inputSetthe input scalar set defined on the volume mesh
Returns
the output scalar sets defined on the resulting streamline meshes

Implements MiStreamlineExtractIjk.

◆ extractStreamline() [1/2]

virtual const std::vector< const MeXLineMeshCurvilinear * > & MiStreamlineExtractHexahedronIjk::extractStreamline ( const MiVec3dSetI 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.

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

Note: the dataset associated to the mesh are not extracted by this method. Thus, the resulting streamlines generated contain only their geometry and topology extracted from the input dataset. In order to extract some dataset the methods extractScalarSet(), extractVec3Set() must be explicitly called after extractStreamline(). Returns the result of the streamline extraction as a list of line meshes.

Parameters
inputdatasetdefines the vector field for the streamlines integration
startPointsdefines the list of start points for the streamlines integration
cellFilter
Returns
the extracted streamlines as curvilinear line meshes

◆ extractStreamline() [2/2]

virtual const std::vector< const MeXLineMeshCurvilinear * > & MiStreamlineExtractHexahedronIjk::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.

Implements MiStreamlineExtractIjk.

◆ extractVec3Set() [1/2]

virtual const std::vector< const MeXVec3dSetI * > & MiStreamlineExtractHexahedronIjk::extractVec3Set ( const MiVec3dSetI inputSet)
pure virtual

Computes a vector set on the extracted isosurface.

Note : The argument i of the method MiVec3dSetI::get(i) refers to the i-th node of the mesh. Thus the binding of the inputSet must be PER_NODE. An exception is thrown otherwise.

Parameters
inputSetthe input vec3 set defined on the volume mesh
Returns
the output scalar set defined on the resulting streamline meshes

◆ extractVec3Set() [2/2]

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

Computes a vector set on the extracted isosurface.

Note : The argument i,j,k of the method MiVec3dSetIjk::get(i,j,k) refers to the cell (i,j,k). Thus the binding of the inputSet must be PER_CELL. An exception is thrown otherwise.

Parameters
inputSetthe input vec3 set defined on the volume mesh
Returns
the output scalar set defined on the resulting streamline meshes

Implements MiStreamlineExtractIjk.

◆ getNewInstance()

static MiStreamlineExtractHexahedronIjk * MiStreamlineExtractHexahedronIjk::getNewInstance ( const MiVolumeMeshHexahedronIjk 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: