Class MiStreamlineExtractUnstructured

java.lang.Object
com.openinventor.meshvizxlm.extractors.streamline.MiStreamlineExtractUnstructured
All Implemented Interfaces:
MiBaseExtractor, MiStreamlineExtractBase

public abstract class MiStreamlineExtractUnstructured extends Object implements MiStreamlineExtractBase
Streamline extractor for unstructured 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.

  • Method Details

    • getNewInstance

      public static <C extends MiVolumeCell, T extends MiVolumeTopologyExplicitI<C>, G extends MiGeometryI> MiStreamlineExtractUnstructured getNewInstance(MiVolumeMeshUnstructured<C,T,G> mesh)
      Create an instance of a streamlines extractor for unstructured volume mesh.
      Parameters:
      mesh - the input mesh
      Returns:
      a streamlines extractor for unstructured volume mesh
    • getNewInstance

      public static <C extends MiSurfaceCell, T extends MiSurfaceTopologyExplicitI<C>, G extends MiGeometryI> MiStreamlineExtractUnstructured getNewInstance(MiSurfaceMeshUnstructured<C,T,G> mesh)
      Create an instance of a streamlines extractor for unstructured surface mesh.
      Parameters:
      mesh - the input mesh
      Returns:
      a streamlines extractor for unstructured surface mesh
    • extractStreamlines

      public abstract List<MeXLineMeshCurvilinear<MeXTopologyI,MeXGeometryI>> extractStreamlines(MiVec3dSetI inputDataSet, MiCellFilterI cellFilter, double[]... startPoints)
      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:
      inputDataSet - defines the vector field for the streamlines integration
      cellFilter - the cell filter
      startPoints - defines the list of start points {x,y,z} for the streamlines integration
      Returns:
      the extracted streamlines as curvilinear line meshes
    • extractScalarSet

      public abstract List<MeXScalardSetI> extractScalarSet(MiScalardSetI inputSet)
      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:
      inputSet - the input scalar set defined on the original volume mesh
      Returns:
      the output scalar sets defined on the resulting edge meshes
    • extractVec3Set

      public abstract List<MeXVec3dSetI> extractVec3Set(MiVec3dSetI inputSet)
      Extracts from the mesh a list of vector sets.
      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:
      inputSet - the input vector set defined on the original volume mesh
      Returns:
      the output vector sets defined on the resulting edge meshes
    • getExtract

      public abstract List<MeXLineMeshCurvilinear<MeXTopologyI,MeXGeometryI>> getExtract()
      Returns the result of the extraction as a mesh.
      Returns:
      result of the extraction as a mesh