Class MiStreamlineExtractIjk

java.lang.Object
com.openinventor.meshvizxlm.extractors.streamline.MiStreamlineExtractIjk
All Implemented Interfaces:
MiBaseExtractor, MiExtractorIjk, MiStreamlineExtractBase
Direct Known Subclasses:
MiStreamlineExtractHexahedronIjk

public abstract class MiStreamlineExtractIjk extends Object implements MiStreamlineExtractBase, MiExtractorIjk
Streamline extractor for structured 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.

  • Method Details

    • getNewInstance

      public static <T extends MiTopologyIjk, G extends MiGeometryHexahedronIjk> MiStreamlineExtractIjk getNewInstance(MiVolumeMeshVertexHexahedronIjk<T,G> mesh)
      Create an instance of a streamlines extractor for a non indexed hexahedron volume mesh IJK.
      Parameters:
      mesh - the input mesh
      Returns:
      a streamlines extractor for a non indexed hexahedron volume mesh IJK
    • extractStreamlines

      public abstract List<MeXLineMeshCurvilinear<MeXTopologyI,MeXGeometryI>> extractStreamlines(MiVec3dSetIjk inputDataSet, MiCellFilterIjk 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(MiScalardSetIjk inputSet)
      Extracts from the mesh a list of scalar sets.
      The scalars are mapped onto the current extracted streamlines.

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

      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(MiVec3dSetIjk inputSet)
      Extracts from the mesh a list of vector sets.
      The vectors are mapped onto the current extracted streamlines.

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

      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