Class PoBaseStreamLine
- java.lang.Object
-
- com.openinventor.inventor.Inventor
-
- com.openinventor.inventor.misc.SoBase
-
- com.openinventor.inventor.fields.SoFieldContainer
-
- com.openinventor.inventor.nodes.SoNode
-
- com.openinventor.inventor.nodekits.SoBaseKit
-
- com.openinventor.meshviz.graph.PoBase
-
- com.openinventor.meshviz.data.Po3DdataMaster
-
- com.openinventor.meshviz.data.PoMesh
-
- com.openinventor.meshviz.data.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 fieldPoMesh.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 inPoMesh
.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:
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PoBaseStreamLine.IntegrationDirections
Type of integration direction.-
Nested classes/interfaces inherited from class com.openinventor.meshviz.data.PoMesh
PoMesh.ColoringTypes
-
Nested classes/interfaces inherited from class com.openinventor.meshviz.graph.PoBase
PoBase.NodeWriteFormats, PoBase.TextTypes, PoBase.UpdateMethodTypes
-
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
SoNode.RenderModes
-
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
-
Field Summary
Fields Modifier and Type Field Description SoMFColor
colors
List of colors used by some derived class to color each streamline.SoSFEnum<PoBaseStreamLine.IntegrationDirections>
integrationDirection
Direction of integration.SoSFInt32
integrationMaxStepNumber
Computing the streamline is done while the number of integration step is less than integrationMaxStepNumber.SoSFFloat
integrationStepLengthFactor
It is a factor of the size of a cell.SoSFFloat
maxLength
The curvilinear distance between the start-point and the last point of a streamline must be less than maxLength.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.SoSFFloat
minSpeed
The streamline ends when it goes through a point where the velocity is less than minSpeed.SoMFVec3f
startPoints
Start points of the streamlines.-
Fields inherited from class com.openinventor.meshviz.data.PoMesh
coloringType, creaseAngle, moduleDataMapping, smoothTextureContouring, valuesIndex, valuesIndexForCellFilter, vecsIndex
-
Fields inherited from class com.openinventor.inventor.nodekits.SoBaseKit
boundingBoxIgnoring
-
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
-
Constructor Summary
Constructors Constructor Description PoBaseStreamLine()
Constructor.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static SoNodekitCatalog
getClassNodekitCatalog()
Returns theSoNodekitCatalog
for this class.-
Methods inherited from class com.openinventor.meshviz.data.PoMesh
getDataMapping, getIsovaluesList, getMesh, getModuleDataMapping, setDataMapping, setIsovaluesList, setMesh, setModuleDataMapping
-
Methods inherited from class com.openinventor.meshviz.graph.PoBase
addPostRebuildCallback, addPreRebuildCallback, getDomain, getNodeWriteFormat, getTextType, getUpdateMethod, isBuilt, isModified, isVRML2Mode, rebuild, setDomain, setNodeWriteFormat, setTextType, setUpdateMethod, setVRML2Mode, touchKit
-
Methods inherited from class com.openinventor.inventor.nodekits.SoBaseKit
getNodekitCatalog, getPart, getPart, getPartString, getViewportIsEnabled, getViewportOrigin, getViewportSize, isSearchingChildren, set, set, setPart, setSearchingChildren
-
Methods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
-
Methods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, setToDefaults
-
Methods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
-
Methods inherited from class com.openinventor.inventor.Inventor
getNativeResourceHandle
-
-
-
-
Field Detail
-
startPoints
public final SoMFVec3f startPoints
Start points of the streamlines.SbVec3f(0,0,0)
by default.
-
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.
-
integrationDirection
public final SoSFEnum<PoBaseStreamLine.IntegrationDirections> integrationDirection
Direction of integration. FORWARD by default.
-
-
Method Detail
-
getClassNodekitCatalog
public static SoNodekitCatalog getClassNodekitCatalog()
Returns theSoNodekitCatalog
for this class.
-
-