Interface ParticleSystem

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

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 color field with Color|ColorRGBA node for changing base color over each particle's lifetime, a texcoord 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:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addColor(X3DNode[] newValue)
    Add array of child color nodes to array of existing nodes (if any).
    void
    addPhysics(X3DNode[] newValue)
    Add array of child physics nodes to array of existing nodes (if any).
    Provide org.web3d.x3d.sai.Shape.X3DAppearanceNode instance (using a properly typed node) from inputOutput SFNode field appearance.
    float[]
    Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.
    boolean
    Provide boolean value from inputOutput SFBool field named bboxDisplay.
    float[]
    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.
    boolean
    Provide boolean value from inputOutput SFBool field named castShadow.
    Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) using RGB values [0..1] from initializeOnly MFNode field color.
    float[]
    Provide array of float results using RGB values [0..1] from initializeOnly MFFloat field named colorKey.
    boolean
    Provide boolean value from inputOutput SFBool field named createParticles.
    Provide org.web3d.x3d.sai.ParticleSystems.X3DParticleEmitterNode instance (using a properly typed node) from initializeOnly SFNode field emitter.
    boolean
    Provide boolean value from inputOutput SFBool field named enabled.
    Provide org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) from inputOutput SFNode field geometry.
    Provide String enumeration value (baseType xs:NMTOKEN) ["LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY" | 'etc.'] from initializeOnly SFString field named geometryType.
    boolean
    Provide boolean value from outputOnly SFBool field named isActive.
    float
    Provide float value within allowed range of [0,1] from inputOutput SFFloat field named lifetimeVariation.
    int
    Provide int value within allowed range of [0,infinity) from inputOutput SFInt32 field named maxParticles.
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    float
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named particleLifetime.
    float[]
    Provide array of 2-tuple float results within allowed range of [0,infinity) from inputOutput SFVec2f field named particleSize.
    Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from initializeOnly MFNode field physics.
    Provide org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) with acceptable node types limited to TextureCoordinate|TextureCoordinateGenerator, from initializeOnly SFNode field texCoord.
    float[]
    Provide array of float results within allowed range of [0,infinity) from initializeOnly MFFloat field named texCoordKey.
    boolean
    Provide boolean value from inputOutput SFBool field named visible.
    Accessor method to assign org.web3d.x3d.sai.Shape.X3DAppearanceNode instance (using a properly typed node) to inputOutput SFNode field appearance.
    setBboxCenter(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
    setBboxDisplay(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named bboxDisplay.
    setBboxSize(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.
    setCastShadow(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named castShadow.
    void
    setColor(X3DNode newValue)
    Set single child color node, replacing prior array of existing nodes (if any).
    setColor(X3DNode[] newValue)
    Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to initializeOnly MFNode field color.
    setColorKey(float[] newValue)
    Accessor method to assign float array to initializeOnly MFFloat field named colorKey.
    setCreateParticles(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named createParticles.
    Accessor method to assign org.web3d.x3d.sai.ParticleSystems.X3DParticleEmitterNode instance (using a properly typed node) to initializeOnly SFNode field emitter.
    setEnabled(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named enabled.
    Accessor method to assign org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) to inputOutput SFNode field geometry.
    Accessor method to assign String enumeration value ("LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY") to initializeOnly SFString field named geometryType.
    setLifetimeVariation(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named lifetimeVariation.
    setMaxParticles(int newValue)
    Accessor method to assign int value to inputOutput SFInt32 field named maxParticles.
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    setParticleLifetime(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named particleLifetime.
    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).
    setPhysics(X3DNode[] newValue)
    Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to initializeOnly MFNode field physics.
    setTexCoord(X3DNode newValue)
    Accessor method to assign org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) to initializeOnly SFNode field texCoord.
    setTexCoordKey(float[] newValue)
    Accessor method to assign float array to initializeOnly MFFloat field named texCoordKey.
    setVisible(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named visible.
  • Method Details

    • getAppearance

      X3DAppearanceNode getAppearance()
      Provide org.web3d.x3d.sai.Shape.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 org.web3d.x3d.sai.Shape.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).
    • getBboxDisplay

      boolean getBboxDisplay()
      Provide boolean value from inputOutput SFBool field named bboxDisplay.

      Tooltip: Whether to display bounding box for associated geometry, aligned with world coordinates.
      • Hint: the bounding box is displayed regardless of whether contained content is visible.
      Specified by:
      getBboxDisplay in interface X3DBoundedObject
      Specified by:
      getBboxDisplay in interface X3DShapeNode
      Returns:
      value of bboxDisplay field
    • setBboxDisplay

      ParticleSystem setBboxDisplay(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named bboxDisplay.

      Tooltip: Whether to display bounding box for associated geometry, aligned with world coordinates.
      • Hint: the bounding box is displayed regardless of whether contained content is visible.
      Specified by:
      setBboxDisplay in interface X3DBoundedObject
      Specified by:
      setBboxDisplay in interface X3DShapeNode
      Parameters:
      newValue - is new value for the bboxDisplay 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: or [0,+infinity) 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: or [0,+infinity) 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).
    • getCastShadow

      boolean getCastShadow()
      Provide boolean value from inputOutput SFBool field named castShadow.
      Specified by:
      getCastShadow in interface X3DShapeNode
      Returns:
      value of castShadow field
    • setCastShadow

      ParticleSystem setCastShadow(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named castShadow.
      Specified by:
      setCastShadow in interface X3DShapeNode
      Parameters:
      newValue - is new value for the castShadow field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getColor

      X3DNode[] getColor()
      Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) using RGB values [0..1] from initializeOnly MFNode field color.

      Tooltip: [X3DColorNode] The color field contains Color|ColorRGBA nodes as a series of color values to be used at the given colorKey points in time.

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

      ParticleSystem setColor(X3DNode[] newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to initializeOnly MFNode field color.

      Tooltip: [X3DColorNode] The color field contains Color|ColorRGBA nodes as a series of color values to be used at the given colorKey points in time.

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

      void addColor(X3DNode[] newValue)
      Add array of child color nodes to array of existing nodes (if any).

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

      void setColor(X3DNode newValue)
      Set single child color node, replacing prior array of existing nodes (if any).
      Parameters:
      newValue - is new node for the color field
    • 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 color 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 color field interpolation.
      • Hint: number of colorKey values must match length of the per-vertex color field array values!
      • Hint: X3D Scene Authoring Hints, Color https://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 color 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 color field interpolation.
      • Hint: number of colorKey values must match length of the per-vertex color field array values!
      • Hint: X3D Scene Authoring Hints, Color https://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).
    • 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 org.web3d.x3d.sai.ParticleSystems.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 org.web3d.x3d.sai.ParticleSystems.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 org.web3d.x3d.sai.Rendering.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 org.web3d.x3d.sai.Rendering.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

      String getGeometryType()
      Provide String enumeration value (baseType xs:NMTOKEN) ["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 https://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(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 https://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 org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      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:
    • setMetadata

      ParticleSystem setMetadata(X3DMetadataObject newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      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:
    • 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 org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) 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:
    • setPhysics

      ParticleSystem setPhysics(X3DNode[] newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) 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
    • getTexCoord

      X3DNode getTexCoord()
      Provide org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) with acceptable node types limited to TextureCoordinate|TextureCoordinateGenerator, from initializeOnly SFNode field texCoord.

      Tooltip: [TextureCoordinate|TextureCoordinateGenerator] 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.
      Returns:
      value of texCoord field
    • setTexCoord

      ParticleSystem setTexCoord(X3DNode newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) to initializeOnly SFNode field texCoord.

      Tooltip: [TextureCoordinate|TextureCoordinateGenerator] 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.
      Parameters:
      newValue - is new value for the texCoord field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • 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 texCoord 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 texCoord 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 texCoord 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 texCoord 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).
    • getVisible

      boolean getVisible()
      Provide boolean value from inputOutput SFBool field named visible.

      Tooltip: Whether or not renderable content within this node is visually displayed.
      • Hint: the visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
      • Hint: content must be visible to be collidable and to be pickable.
      Specified by:
      getVisible in interface X3DBoundedObject
      Specified by:
      getVisible in interface X3DShapeNode
      Returns:
      value of visible field
    • setVisible

      ParticleSystem setVisible(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named visible.

      Tooltip: Whether or not renderable content within this node is visually displayed.
      • Hint: the visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
      • Hint: content must be visible to be collidable and to be pickable.
      Specified by:
      setVisible in interface X3DBoundedObject
      Specified by:
      setVisible in interface X3DShapeNode
      Parameters:
      newValue - is new value for the visible field.
      Returns:
      ParticleSystem - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).