Streamline extractor for unstructured IJK volume meshes. More...
#include <MeshVizXLM/extractors/MiStreamlineExtractUnstructuredIjk.h>
Public Member Functions | |
virtual const std::vector < const MeXScalardSetI * > & | extractScalarSet (const MiScalardSetI &inputSet)=0 |
virtual const std::vector < const MeXScalardSetI * > & | extractScalarSet (const MiScalardSetIjk &inputSet)=0 |
virtual const std::vector < const MeXVec3dSetI * > & | extractVec3Set (const MiVec3dSetI &inputSet)=0 |
virtual const std::vector < const MeXVec3dSetI * > & | extractVec3Set (const MiVec3dSetIjk &inputSet)=0 |
virtual const std::vector < const MeXLineMeshCurvilinear * > & | getExtract () const =0 |
Static Public Member Functions | |
static MiStreamlineExtractUnstructuredIjk * | getNewInstance (const MiVolumeMeshHexahedronIjk &mesh, bool parallel=true) |
Deprecated | |
| |
static SoDEPRECATED MiStreamlineExtractUnstructuredIjk * | getNewInstance (const MiVolumeMeshUnstructuredIjk &mesh, bool parallel=true) |
| |
virtual const std::vector < const MeXLineMeshCurvilinear * > & | extractStreamline (const MiVec3dSetI &inputdataset, const std::vector< MbVec3d > &startPoints, const MiCellFilterIjk *cellFilter=NULL)=0 |
virtual const std::vector < const MeXLineMeshCurvilinear * > & | extractStreamline (const MiVec3dSetIjk &inputdataset, const std::vector< MbVec3d > &startPoints, const MiCellFilterIjk *cellFilter=NULL)=0 |
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 .
virtual const std::vector< const MeXScalardSetI* >& MiStreamlineExtractUnstructuredIjk::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.
inputSet | the input scalar set defined on the volume mesh |
virtual const std::vector< const MeXScalardSetI* >& MiStreamlineExtractUnstructuredIjk::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.
inputSet | the input scalar set defined on the volume mesh |
virtual const std::vector<const MeXLineMeshCurvilinear*>& MiStreamlineExtractUnstructuredIjk::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.
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,: |
virtual const std::vector<const MeXLineMeshCurvilinear*>& MiStreamlineExtractUnstructuredIjk::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.
inputdataset,: | defines the vector field for the streamlines integration | |
startPoints,: | defines the list of start points for the streamlines integration | |
cellFilter,: |
virtual const std::vector< const MeXVec3dSetI* >& MiStreamlineExtractUnstructuredIjk::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.
inputSet | the input vec3 set defined on the volume mesh |
virtual const std::vector< const MeXVec3dSetI* >& MiStreamlineExtractUnstructuredIjk::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.
inputSet | the input vec3 set defined on the volume mesh |
virtual const std::vector<const MeXLineMeshCurvilinear*>& MiStreamlineExtractUnstructuredIjk::getExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction.
static SoDEPRECATED MiStreamlineExtractUnstructuredIjk* MiStreamlineExtractUnstructuredIjk::getNewInstance | ( | const MiVolumeMeshUnstructuredIjk & | 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 MiStreamlineExtractUnstructuredIjk* MiStreamlineExtractUnstructuredIjk::getNewInstance | ( | const MiVolumeMeshHexahedronIjk & | 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. |