Class PoBaseStreamLine

  • All Implemented Interfaces:
    SafeDisposable
    Direct Known Subclasses:
    PoStreamLine, PoStreamParticleMotion, PoStreamSurface

    public class PoBaseStreamLine
    extends PoMesh
    Base class of all streamline representations on a mesh. Class to calculate the geometry of streamlines starting from a list of source points. A streamline is a line that is everywhere tangent to the vectors field. Streamlines are meaningless for unsteady flow, because the time is not taken into account during the computation of the line. Streamlines are calculated by using a Runge/Kutta method of order 2.

    The streamlines are calculated from a set of vectors in the current mesh. See PoMesh for more explanations about the current mesh. The index of vectors data set used to compute streamlines, is defined by the field PoMesh.vecsIndex. If this vectors data set does not exist in the current mesh, the representation is empty. The origin of each vector is a node of the mesh.

    The derived classes respect the following rules to color the representation:

    If PoMesh.coloringType = COLOR_INHERITED and if the field "colors" is empty, the representation uses only one inherited color, so each part of the representation have the same color.

    If PoMesh.coloringType = COLOR_INHERITED and if the field colors is not empty, the representation uses each colors of field for each streamline. For example, the streamline starting from the i-th startPoints is colored by colors[inum_colors], where num_colors is the size of the field "colors".

    If the field PoMesh.valuesIndex is not defined (i.e. < 0), and if coloringType != COLOR_INHERITED, the representations are colored by using the current data mapping applied to the velocity at each point of the streamlines. The definition of the "current data mapping" is explained in PoMesh.

    If the field PoMesh.valuesIndex is defined, and if coloringType != COLOR_INHERITED, the representations are colored by using the current data mapping applied to the value at each point of the streamlines.

    File format/default:

    PoBaseStreamLine {

      startPoints SbVec3f(0,0,0)
      maxLifetime 0 (i.e. infinite)
      maxLength 0 (i.e. infinite)
      minSpeed 0 (i.e. infinite)
      integrationStepLengthFactor 0.3
      integrationMaxStepNumber 0 (i.e. infinite)
      integrationDirection FORWARD
      colors (SbColor(1,0,0)
      coloringType COLOR_INHERITED
      valuesIndex -1
      valuesIndexForCellFilter -1
      vecsIndex -1
      moduleDataMapping NULL
    }
    • Field Detail

      • colors

        public final SoMFColor colors
        List of colors used by some derived class to color each streamline. Empty field by default.
      • maxLifetime

        public final SoSFFloat maxLifetime
        The difference between the time of the start-point and the time of the last point of a streamline must be less than maxLifetime. maxLifetime <= 0 means an infinite lifetime. 0 by default.
      • maxLength

        public final SoSFFloat maxLength
        The curvilinear distance between the start-point and the last point of a streamline must be less than maxLength. maxLength <= 0 means an infinite distance. 0 by default.
      • minSpeed

        public final SoSFFloat minSpeed
        The streamline ends when it goes through a point where the velocity is less than minSpeed. minSpeed <= 0 means an infinite speed. 0 by default.
      • integrationStepLengthFactor

        public final SoSFFloat integrationStepLengthFactor
        It is a factor of the size of a cell. It represents the gap between two consecutive points of the calculated streamline. The gap depends of the cell's size. If S is the size of the current cell, the gap is S*integrationStepLengthFactor. The lower this step is, the more accurate the streamline is. Setting a value < 1, ensures that each cell which cross the streamline is taken into account. 0.3 by default.
      • integrationMaxStepNumber

        public final SoSFInt32 integrationMaxStepNumber
        Computing the streamline is done while the number of integration step is less than integrationMaxStepNumber. integrationMaxStepNumber <= 0 means infinite. 0 by default.
    • Constructor Detail

      • PoBaseStreamLine

        public PoBaseStreamLine()
        Constructor.