Interface ParticleSystem

All Superinterfaces:
X3DBoundedObject, X3DChildNode, X3DNode, X3DShapeNode
All Known Implementing Classes:
ParticleSystemObject

public interface ParticleSystem
extends X3DShapeNode
ParticleSystem specifies a complete particle system.

X3D node tooltip: (X3D version 3.2 or later) [X3DShapeNode] ParticleSystem specifies a complete particle system. It can contain Appearance for particle appearance, a geometry node if gemoetryType='GEOMETRY', a colorRamp Color|ColorRGBA node for changing base color over each particle's lifetime, a texcoordRamp TextureCoordinate node to control texture coordinates of provided texture(s) in the Appearance node over time, a single emitter X3DParticleEmitterNode, and an array of physics X3DParticlePhysicsModelNode nodes.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
See Also:
SAI Java Specification: TODO, X3D Abstract Specification: ParticleSystem, X3D Tooltips: ParticleSystem, X3D Scene Authoring Hints
  • Method Summary

    Modifier and Type Method Description
    void addPhysics​(X3DNode[] newValue)
    Add array of child physics nodes to array of existing nodes (if any).
    X3DAppearanceNode getAppearance()
    Provide X3DAppearanceNode instance (using a properly typed node) from inputOutput SFNode field appearance.
    float[] getBboxCenter()
    Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.
    float[] getBboxSize()
    Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.
    float[] getColorKey()
    Provide array of float results using RGB values [0..1] from initializeOnly MFFloat field named colorKey.
    X3DColorNode getColorRamp()
    Provide X3DColorNode instance (using a properly typed node) using RGB values [0..1] from initializeOnly SFNode field colorRamp.
    boolean getCreateParticles()
    Provide boolean value from inputOutput SFBool field named createParticles.
    X3DParticleEmitterNode getEmitter()
    Provide X3DParticleEmitterNode instance (using a properly typed node) from initializeOnly SFNode field emitter.
    boolean getEnabled()
    Provide boolean value from inputOutput SFBool field named enabled.
    X3DGeometryNode getGeometry()
    Provide X3DGeometryNode instance (using a properly typed node) from inputOutput SFNode field geometry.
    java.lang.String getGeometryType()
    Provide String enumeration value ( baseType particleSystemGeometryTypeValues) ["LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY" | 'etc.'] from initializeOnly SFString field named geometryType.
    boolean getIsActive()
    Provide boolean value from outputOnly SFBool field named isActive.
    float getLifetimeVariation()
    Provide float value within allowed range of [0,1] from inputOutput SFFloat field named lifetimeVariation.
    int getMaxParticles()
    Provide int value within allowed range of [0,infinity) from inputOutput SFInt32 field named maxParticles.
    X3DMetadataObject getMetadata()
    Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    float getParticleLifetime()
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named particleLifetime.
    float[] getParticleSize()
    Provide array of 2-tuple float results within allowed range of [0,infinity) from inputOutput SFVec2f field named particleSize.
    X3DNode[] getPhysics()
    Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from initializeOnly MFNode field physics.
    float[] getTexCoordKey()
    Provide array of float results within allowed range of [0,infinity) from initializeOnly MFFloat field named texCoordKey.
    TextureCoordinate getTexCoordRamp()
    Provide TextureCoordinate instance (using a properly typed node) from initializeOnly SFNode field texCoordRamp.
    ParticleSystem setAppearance​(X3DAppearanceNode newValue)
    Accessor method to assign X3DAppearanceNode instance (using a properly typed node) to inputOutput SFNode field appearance.
    ParticleSystem setBboxCenter​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
    ParticleSystem setBboxSize​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.
    ParticleSystem setColorKey​(float[] newValue)
    Accessor method to assign float array to initializeOnly MFFloat field named colorKey.
    ParticleSystem setColorRamp​(X3DColorNode newValue)
    Accessor method to assign X3DColorNode instance (using a properly typed node) to initializeOnly SFNode field colorRamp.
    ParticleSystem setCreateParticles​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named createParticles.
    ParticleSystem setEmitter​(X3DParticleEmitterNode newValue)
    Accessor method to assign X3DParticleEmitterNode instance (using a properly typed node) to initializeOnly SFNode field emitter.
    ParticleSystem setEnabled​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named enabled.
    ParticleSystem setGeometry​(X3DGeometryNode newValue)
    Accessor method to assign X3DGeometryNode instance (using a properly typed node) to inputOutput SFNode field geometry.
    ParticleSystem setGeometryType​(java.lang.String newValue)
    Accessor method to assign String enumeration value ("LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY") to initializeOnly SFString field named geometryType.
    ParticleSystem setLifetimeVariation​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named lifetimeVariation.
    ParticleSystem setMaxParticles​(int newValue)
    Accessor method to assign int value to inputOutput SFInt32 field named maxParticles.
    ParticleSystem setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    ParticleSystem setParticleLifetime​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named particleLifetime.
    ParticleSystem setParticleSize​(float[] newValue)
    Accessor method to assign 2-tuple float array to inputOutput SFVec2f field named particleSize.
    void setPhysics​(X3DNode newValue)
    Set single child physics node, replacing prior array of existing nodes (if any).
    ParticleSystem setPhysics​(X3DNode[] newValue)
    Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to initializeOnly MFNode field physics.
    ParticleSystem setTexCoordKey​(float[] newValue)
    Accessor method to assign float array to initializeOnly MFFloat field named texCoordKey.
    ParticleSystem setTexCoordRamp​(TextureCoordinate newValue)
    Accessor method to assign TextureCoordinate instance (using a properly typed node) to initializeOnly SFNode field texCoordRamp.
  • Method Details

    • getAppearance

      X3DAppearanceNode getAppearance()
      Provide X3DAppearanceNode instance (using a properly typed node) from inputOutput SFNode field appearance.

      Tooltip: [X3DAppearanceNode] The appearance field holds an Appearance node that is used for the geometry. All effects, such as material colors and/or multi-textures, are applied to each particle.
      • Hint: if a texture coordinate ramp and key is supplied with this geometry, it shall be used in preference to any automatic texture coordinate generation.
      • Hint: if automatic texture coordinate generation is used, results shall be based on the entire volume that the particles consume, not locally applied to each particle.
      Specified by:
      getAppearance in interface X3DShapeNode
      Returns:
      value of appearance field
    • setAppearance

      ParticleSystem setAppearance​(X3DAppearanceNode newValue)
      Accessor method to assign X3DAppearanceNode instance (using a properly typed node) to inputOutput SFNode field appearance.

      Tooltip: [X3DAppearanceNode] The appearance field holds an Appearance node that is used for the geometry. All effects, such as material colors and/or multi-textures, are applied to each particle.
      • Hint: if a texture coordinate ramp and key is supplied with this geometry, it shall be used in preference to any automatic texture coordinate generation.
      • Hint: if automatic texture coordinate generation is used, results shall be based on the entire volume that the particles consume, not locally applied to each particle.
      Specified by:
      setAppearance in interface X3DShapeNode
      Parameters:
      newValue - is new value for the appearance field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getBboxCenter

      float[] getBboxCenter()
      Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.

      Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
      Specified by:
      getBboxCenter in interface X3DBoundedObject
      Specified by:
      getBboxCenter in interface X3DShapeNode
      Returns:
      value of bboxCenter field
    • setBboxCenter

      ParticleSystem setBboxCenter​(float[] newValue)
      Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.

      Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
      Specified by:
      setBboxCenter in interface X3DBoundedObject
      Specified by:
      setBboxCenter in interface X3DShapeNode
      Parameters:
      newValue - is new value for the bboxCenter field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getBboxSize

      float[] getBboxSize()
      Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.

      Tooltip: Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
      Specified by:
      getBboxSize in interface X3DBoundedObject
      Specified by:
      getBboxSize in interface X3DShapeNode
      Returns:
      value of bboxSize field
    • setBboxSize

      ParticleSystem setBboxSize​(float[] newValue)
      Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.

      Tooltip: Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
      Specified by:
      setBboxSize in interface X3DBoundedObject
      Specified by:
      setBboxSize in interface X3DShapeNode
      Parameters:
      newValue - is new value for the bboxSize field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getColorKey

      float[] getColorKey()
      Provide array of float results using RGB values [0..1] from initializeOnly MFFloat field named colorKey.

      Tooltip: [0,+infinity) Array of time intervals in seconds, corresponding to particle lifetime, that are used to interpolate colorRamp array values.
      • Hint: color values are interpolated in linear Hue Saturation Value (HSV) space, similar to ColorInterpolator node.
      • Hint: color values are defined as per-vertex color values.
      • Warning: if an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.
      • Hint: number of colorKey values must match length of the per-vertex colorRamp arrays!
      • Hint: X3D Scene Authoring Hints, Color http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
      Returns:
      value of colorKey field
    • setColorKey

      ParticleSystem setColorKey​(float[] newValue)
      Accessor method to assign float array to initializeOnly MFFloat field named colorKey.

      Tooltip: [0,+infinity) Array of time intervals in seconds, corresponding to particle lifetime, that are used to interpolate colorRamp array values.
      • Hint: color values are interpolated in linear Hue Saturation Value (HSV) space, similar to ColorInterpolator node.
      • Hint: color values are defined as per-vertex color values.
      • Warning: if an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.
      • Hint: number of colorKey values must match length of the per-vertex colorRamp arrays!
      • Hint: X3D Scene Authoring Hints, Color http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
      Parameters:
      newValue - is new value for the colorKey field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getColorRamp

      X3DColorNode getColorRamp()
      Provide X3DColorNode instance (using a properly typed node) using RGB values [0..1] from initializeOnly SFNode field colorRamp.

      Tooltip: [X3DColorNode] The colorRamp Color|ColorRGBA node holds a series of color values to be used at the given colorKey points in time.
      • Hint: color values are defined as per-vertex color values.
      • Warning: if an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.
      • Hint: number of colorKey values must match length of the per-vertex colorRamp arrays!
      • Hint: X3D Scene Authoring Hints, Color http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
      Returns:
      value of colorRamp field
    • setColorRamp

      ParticleSystem setColorRamp​(X3DColorNode newValue)
      Accessor method to assign X3DColorNode instance (using a properly typed node) to initializeOnly SFNode field colorRamp.

      Tooltip: [X3DColorNode] The colorRamp Color|ColorRGBA node holds a series of color values to be used at the given colorKey points in time.
      • Hint: color values are defined as per-vertex color values.
      • Warning: if an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.
      • Hint: number of colorKey values must match length of the per-vertex colorRamp arrays!
      • Hint: X3D Scene Authoring Hints, Color http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
      Parameters:
      newValue - is new value for the colorRamp field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getCreateParticles

      boolean getCreateParticles()
      Provide boolean value from inputOutput SFBool field named createParticles.

      Tooltip: Enables/disables creation of new particles, while any existing particles remain in existence and continue to animate until the end of their lifetimes.
      • Hint: if no particles are left in scene, system is considered both active and enabled.
      Returns:
      value of createParticles field
    • setCreateParticles

      ParticleSystem setCreateParticles​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named createParticles.

      Tooltip: Enables/disables creation of new particles, while any existing particles remain in existence and continue to animate until the end of their lifetimes.
      • Hint: if no particles are left in scene, system is considered both active and enabled.
      Parameters:
      newValue - is new value for the createParticles field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getEmitter

      Provide X3DParticleEmitterNode instance (using a properly typed node) from initializeOnly SFNode field emitter.

      Tooltip: [X3DParticleEmitterNode] The emitter field specifies the type of emitter geometry and properties that the particles are given for their initial positions. *
      Returns:
      value of emitter field
    • setEmitter

      ParticleSystem setEmitter​(X3DParticleEmitterNode newValue)
      Accessor method to assign X3DParticleEmitterNode instance (using a properly typed node) to initializeOnly SFNode field emitter.

      Tooltip: [X3DParticleEmitterNode] The emitter field specifies the type of emitter geometry and properties that the particles are given for their initial positions. *
      Parameters:
      newValue - is new value for the emitter field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getEnabled

      boolean getEnabled()
      Provide boolean value from inputOutput SFBool field named enabled.

      Tooltip: Enables/disables node operation. *
      Returns:
      value of enabled field
    • setEnabled

      ParticleSystem setEnabled​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named enabled.

      Tooltip: Enables/disables node operation. *
      Parameters:
      newValue - is new value for the enabled field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getGeometry

      X3DGeometryNode getGeometry()
      Provide X3DGeometryNode instance (using a properly typed node) from inputOutput SFNode field geometry.

      Tooltip: [X3DGeometryNode] Single contained geometry node provides geometry used for each particle when geometryType=GEOMETRY.
      Specified by:
      getGeometry in interface X3DShapeNode
      Returns:
      value of geometry field
    • setGeometry

      ParticleSystem setGeometry​(X3DGeometryNode newValue)
      Accessor method to assign X3DGeometryNode instance (using a properly typed node) to inputOutput SFNode field geometry.

      Tooltip: [X3DGeometryNode] Single contained geometry node provides geometry used for each particle when geometryType=GEOMETRY.
      Specified by:
      setGeometry in interface X3DShapeNode
      Parameters:
      newValue - is new value for the geometry field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getGeometryType

      java.lang.String getGeometryType()
      Provide String enumeration value ( baseType particleSystemGeometryTypeValues) ["LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY" | 'etc.'] from initializeOnly SFString field named geometryType.

      Tooltip: specifies type of geometry used to represent individual particles. Typically, a particle is calculated as point in space at which the geometry is placed. Changing the value of the geometry field or the definition of the geometry node shall be applied during current computation of the next frame to be rendered.
      • Hint: LINE means that a line is drawn along the particle's current velocity vector, for this frame, centered about the particle's position. The length of the line is specified by the particle's height from the particleSize field value.
      • Hint: POINT means that a point geometry is rendered at the particle's position.
      • Hint: QUAD means that a 2D quad is rendered aligned in the local coordinate space of the particle system with the face normal pointing along the positive Z axis. Individual quads are not aligned to the user's eye position but are affected in depth by the physics model. The particle's position is at the center of the quad.
      • Hint: SPRITE means that a point sprite that uses a 2D point position to locate a screen-aligned quad at the center of the particle's location is rendered.
      • Hint: TRIANGLE means that a 2D quad is rendered using a pair of triangles aligned in the local coordinate space of the particle system with the face normal pointing along the positive Z axis. Individual triangles are not aligned to the user's eye position, but are affected in depth by the physics model. The particle's position is at the center of the triangle.
      • Hint: GEOMETRY means that the geometry specified by the geometry field is rendered for each particle using the local coordinate system.
      • Warning: do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
      • Hint: X3D for Advanced Modeling (X3D4AM) slideset http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/GeospatialComponentX3dEarth.pdf
      • Warning: requires X3D profile='Full' or else include <component name='Geospatial' level='1'/>
      Returns:
      value of geometryType field
    • setGeometryType

      ParticleSystem setGeometryType​(java.lang.String newValue)
      Accessor method to assign String enumeration value ("LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY") to initializeOnly SFString field named geometryType.

      Tooltip: specifies type of geometry used to represent individual particles. Typically, a particle is calculated as point in space at which the geometry is placed. Changing the value of the geometry field or the definition of the geometry node shall be applied during current computation of the next frame to be rendered.
      • Hint: LINE means that a line is drawn along the particle's current velocity vector, for this frame, centered about the particle's position. The length of the line is specified by the particle's height from the particleSize field value.
      • Hint: POINT means that a point geometry is rendered at the particle's position.
      • Hint: QUAD means that a 2D quad is rendered aligned in the local coordinate space of the particle system with the face normal pointing along the positive Z axis. Individual quads are not aligned to the user's eye position but are affected in depth by the physics model. The particle's position is at the center of the quad.
      • Hint: SPRITE means that a point sprite that uses a 2D point position to locate a screen-aligned quad at the center of the particle's location is rendered.
      • Hint: TRIANGLE means that a 2D quad is rendered using a pair of triangles aligned in the local coordinate space of the particle system with the face normal pointing along the positive Z axis. Individual triangles are not aligned to the user's eye position, but are affected in depth by the physics model. The particle's position is at the center of the triangle.
      • Hint: GEOMETRY means that the geometry specified by the geometry field is rendered for each particle using the local coordinate system.
      • Warning: do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
      • Hint: X3D for Advanced Modeling (X3D4AM) slideset http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/GeospatialComponentX3dEarth.pdf
      • Warning: requires X3D profile='Full' or else include <component name='Geospatial' level='1'/>
      Parameters:
      newValue - is new value for the geometryType field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getIsActive

      boolean getIsActive()
      Provide boolean value from outputOnly SFBool field named isActive.

      Tooltip: isActive true/false events are sent when playback starts/stops.
      • Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
      Returns:
      value of isActive field
    • getLifetimeVariation

      float getLifetimeVariation()
      Provide float value within allowed range of [0,1] from inputOutput SFFloat field named lifetimeVariation.

      Tooltip: [0,1) TODO not properly defined in X3D spedification. Multiplier for the randomness used to control the range of possible output values. The bigger the value, the more random the output and the bigger the range of initial values possible.
      • Hint: variation of zero does not allow any randomness.
      Returns:
      value of lifetimeVariation field
    • setLifetimeVariation

      ParticleSystem setLifetimeVariation​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named lifetimeVariation.

      Tooltip: [0,1) TODO not properly defined in X3D spedification. Multiplier for the randomness used to control the range of possible output values. The bigger the value, the more random the output and the bigger the range of initial values possible.
      • Hint: variation of zero does not allow any randomness.
      Parameters:
      newValue - is new value for the lifetimeVariation field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMaxParticles

      int getMaxParticles()
      Provide int value within allowed range of [0,infinity) from inputOutput SFInt32 field named maxParticles.

      Tooltip: [0,+infinity) Maximum number of particles to be generated at one time (subject to player limitations). *
      Returns:
      value of maxParticles field
    • setMaxParticles

      ParticleSystem setMaxParticles​(int newValue)
      Accessor method to assign int value to inputOutput SFInt32 field named maxParticles.

      Tooltip: [0,+infinity) Maximum number of particles to be generated at one time (subject to player limitations). *
      Parameters:
      newValue - is new value for the maxParticles field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMetadata

      X3DMetadataObject getMetadata()
      Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
      Specified by:
      getMetadata in interface X3DChildNode
      Specified by:
      getMetadata in interface X3DNode
      Specified by:
      getMetadata in interface X3DShapeNode
      Returns:
      value of metadata field
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      ParticleSystem setMetadata​(X3DMetadataObject newValue)
      Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
      Specified by:
      setMetadata in interface X3DChildNode
      Specified by:
      setMetadata in interface X3DNode
      Specified by:
      setMetadata in interface X3DShapeNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • getParticleLifetime

      float getParticleLifetime()
      Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named particleLifetime.

      Tooltip: [0,+infinity) TODO not properly defined in X3D spedification. Particle animation lifetime in base time units (default is seconds). *
      Returns:
      value of particleLifetime field
    • setParticleLifetime

      ParticleSystem setParticleLifetime​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named particleLifetime.

      Tooltip: [0,+infinity) TODO not properly defined in X3D spedification. Particle animation lifetime in base time units (default is seconds). *
      Parameters:
      newValue - is new value for the particleLifetime field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getParticleSize

      float[] getParticleSize()
      Provide array of 2-tuple float results within allowed range of [0,infinity) from inputOutput SFVec2f field named particleSize.

      Tooltip: [0,+infinity) particleSize describes width and height dimensions for each particle in length base units (default is meters). Changing this value dynamically will only change new particles created after the change.
      • Hint: particles created before this timestamp will remain at the old size.
      • Hint: his field only effects particles using LINE, QUAD, SPRITE, and TRIANGLE geometry types.
      Returns:
      value of particleSize field
    • setParticleSize

      ParticleSystem setParticleSize​(float[] newValue)
      Accessor method to assign 2-tuple float array to inputOutput SFVec2f field named particleSize.

      Tooltip: [0,+infinity) particleSize describes width and height dimensions for each particle in length base units (default is meters). Changing this value dynamically will only change new particles created after the change.
      • Hint: particles created before this timestamp will remain at the old size.
      • Hint: his field only effects particles using LINE, QUAD, SPRITE, and TRIANGLE geometry types.
      Parameters:
      newValue - is new value for the particleSize field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getPhysics

      X3DNode[] getPhysics()
      Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from initializeOnly MFNode field physics.

      Tooltip: [X3DParticlePhysicsModelNode] After being created, the individual particles are then manipulated according to the physics model(s) specified in the physics field. *


      Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DParticlePhysicsModelNode.
      Returns:
      value of physics field
      See Also:
      X3DParticlePhysicsModelNode
    • setPhysics

      ParticleSystem setPhysics​(X3DNode[] newValue)
      Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to initializeOnly MFNode field physics.

      Tooltip: [X3DParticlePhysicsModelNode] After being created, the individual particles are then manipulated according to the physics model(s) specified in the physics field. *


      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DParticlePhysicsModelNode.
      Parameters:
      newValue - is new value for the physics field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addPhysics

      void addPhysics​(X3DNode[] newValue)
      Add array of child physics nodes to array of existing nodes (if any).

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DParticlePhysicsModelNode.
      Parameters:
      newValue - is new value array to be appended the physics field.
    • setPhysics

      void setPhysics​(X3DNode newValue)
      Set single child physics node, replacing prior array of existing nodes (if any).
      Parameters:
      newValue - is new node for the physics field
    • getTexCoordKey

      float[] getTexCoordKey()
      Provide array of float results within allowed range of [0,infinity) from initializeOnly MFFloat field named texCoordKey.

      Tooltip: [0,+infinity) Array of time intervals in seconds, corresponding to particle lifetime, that are used to sequence texCoordRamp array values.
      • Hint: no interpolation is performed, texture coordinates are simply sequenced in order.
      • Hint: texture-coordinate values map textures to vertices in the geometry.
      • Hint: number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!.
      Returns:
      value of texCoordKey field
    • setTexCoordKey

      ParticleSystem setTexCoordKey​(float[] newValue)
      Accessor method to assign float array to initializeOnly MFFloat field named texCoordKey.

      Tooltip: [0,+infinity) Array of time intervals in seconds, corresponding to particle lifetime, that are used to sequence texCoordRamp array values.
      • Hint: no interpolation is performed, texture coordinates are simply sequenced in order.
      • Hint: texture-coordinate values map textures to vertices in the geometry.
      • Hint: number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!.
      Parameters:
      newValue - is new value for the texCoordKey field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getTexCoordRamp

      TextureCoordinate getTexCoordRamp()
      Provide TextureCoordinate instance (using a properly typed node) from initializeOnly SFNode field texCoordRamp.

      Tooltip: [TextureCoordinate] texture coordinates of the provided texture(s) in the Appearance node, over time. Particle systems frequently like to change the texture on a particle as it ages, yet there is no good way of accomplishing this through standard interpolators because interpolators have no concept of particle time. This pair of fields hold time-dependent values for the texture coordinates to be applied to the particle. When a particle reaches the next time stamp it moves to the next set of texture coordinates.
      • Hint: texture-coordinate values map textures to vertices in the geometry.
      • Hint: number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!.
      Returns:
      value of texCoordRamp field
    • setTexCoordRamp

      ParticleSystem setTexCoordRamp​(TextureCoordinate newValue)
      Accessor method to assign TextureCoordinate instance (using a properly typed node) to initializeOnly SFNode field texCoordRamp.

      Tooltip: [TextureCoordinate] texture coordinates of the provided texture(s) in the Appearance node, over time. Particle systems frequently like to change the texture on a particle as it ages, yet there is no good way of accomplishing this through standard interpolators because interpolators have no concept of particle time. This pair of fields hold time-dependent values for the texture coordinates to be applied to the particle. When a particle reaches the next time stamp it moves to the next set of texture coordinates.
      • Hint: texture-coordinate values map textures to vertices in the geometry.
      • Hint: number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!.
      Parameters:
      newValue - is new value for the texCoordRamp field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).