Streamline extractor for hexahedron IJK volume meshes. More...
#include <MeshVizXLM/extractors/MiStreamlineExtractHexahedronIjk.h>
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 MiStreamlineExtractHexahedronIjk * | getNewInstance (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 MiStreamlineExtractIjk * | getNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true) |
Factory method returning a new instance of a class implementing this abstract class. | |
static MiStreamlineExtractIjk * | getNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true) |
static MiStreamlineExtractIjk * | getNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true) |
Additional Inherited Members | |
Public Types inherited from MiStreamlineExtractBase | |
enum | IntegrationDirection { FORWARD , BACKWARD } |
Integration direction. More... | |
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.
|
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.
inputSet | the input scalar set defined on the volume mesh |
|
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.
inputSet | the input scalar set defined on the volume mesh |
Implements MiStreamlineExtractIjk.
|
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.
inputdataset | defines the vector field for the streamlines integration |
startPoints | defines the list of start points for the streamlines integration |
cellFilter |
|
pure virtual |
Builds the topology and geometry of the streamlines starting at the given points in the given dataset.
inputdataset | Defines the vector field for the streamlines integration. |
startPoints | Defines the list of start points for the streamlines integration. |
cellFilter | The call filter. |
Implements MiStreamlineExtractIjk.
|
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.
inputSet | the input vec3 set defined on the volume mesh |
|
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.
inputSet | the input vec3 set defined on the volume mesh |
Implements MiStreamlineExtractIjk.
|
static |
Factory method returning a new instance of a class implementing this abstract class.
mesh | The input mesh |
parallel | When true, tries to create an extract module using a parallel algorithm to speed up the extraction. |