Streamline extractor for structured volume meshes. More...
#include <MeshVizXLM/extractors/MiStreamlineExtractIjk.h>
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 MiStreamlineExtractIjk * | getNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true) |
static MiStreamlineExtractIjk * | getNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true) |
static MiStreamlineExtractIjk * | getNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true) |
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 .
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.
inputSet | the input scalar set defined on the original volume mesh |
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.
inputdataset | Defines the vector field for the streamlines integration. | |
startPoints | Defines the list of start points for the streamlines integration. | |
cellFilter | The call filter. |
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.
inputSet | the input vector set defined on the original volume mesh |
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.
mesh | The input mesh | |
parallel | When true, tries to create an extract module using a parallel algorithm to speed up the extraction. |
static MiStreamlineExtractIjk* MiStreamlineExtractIjk::getNewInstance | ( | const MiVolumeMeshRectilinear & | mesh, | |
bool | parallel = true | |||
) | [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. |
static MiStreamlineExtractIjk* MiStreamlineExtractIjk::getNewInstance | ( | const MiVolumeMeshRegular & | mesh, | |
bool | parallel = true | |||
) | [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. |