Interface SurfaceEmitter

All Superinterfaces:
X3DNode, X3DParticleEmitterNode
All Known Implementing Classes:
SurfaceEmitterObject

public interface SurfaceEmitter
extends X3DParticleEmitterNode
SurfaceEmitter generates particles from the surface of an object.

X3D node tooltip: (X3D version 3.2 or later) [X3DParticleEmitterNode] SurfaceEmitter generates particles from the surface of an object. New particles are generated by first randomly choosing a face on the tessellated geometry and then a random position on that face. Particles are generated with an initial direction of the normal to that point (including any normal averaging due to normalPerVertex and creaseAngle field settings).
  • Hint: ff surface is not solid (solid=false), randomly choose from which side of the surface to emit, negating the normal direction when generating from the back side.
  • Warning: only valid geometry shall be used.

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: SurfaceEmitter, X3D Tooltips: SurfaceEmitter, X3D Scene Authoring Hints
  • Method Summary

    Modifier and Type Method Description
    int[] getCoordIndex()
    Provide array of int results within allowed range of [-1,infinity) from initializeOnly MFInt32 field named coordIndex.
    float getMass()
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named mass.
    X3DMetadataObject getMetadata()
    Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    float getSpeed()
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named speed.
    X3DGeometryNode getSurface()
    Provide X3DGeometryNode instance (using a properly typed node) from initializeOnly SFNode field surface.
    float getSurfaceArea()
    Provide float value within allowed range of [0,infinity) from initializeOnly SFFloat field named surfaceArea.
    float getVariation()
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named variation.
    SurfaceEmitter setCoordIndex​(int[] newValue)
    Accessor method to assign int array to initializeOnly MFInt32 field named coordIndex.
    SurfaceEmitter setMass​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named mass.
    SurfaceEmitter setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    SurfaceEmitter setSpeed​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named speed.
    SurfaceEmitter setSurface​(X3DGeometryNode newValue)
    Accessor method to assign X3DGeometryNode instance (using a properly typed node) to initializeOnly SFNode field surface.
    SurfaceEmitter setSurfaceArea​(float newValue)
    Accessor method to assign float value to initializeOnly SFFloat field named surfaceArea.
    SurfaceEmitter setVariation​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named variation.
  • Method Details

    • getCoordIndex

      int[] getCoordIndex()
      Provide array of int results within allowed range of [-1,infinity) from initializeOnly MFInt32 field named coordIndex.

      Tooltip: [-1,+infinity) coordIndex indices are applied to contained Coordinate values in order to define randomly generated initial geometry of the particles.
      • Warning: coordIndex is required in order to connect contained coordinate point values.
      Returns:
      value of coordIndex field
    • setCoordIndex

      SurfaceEmitter setCoordIndex​(int[] newValue)
      Accessor method to assign int array to initializeOnly MFInt32 field named coordIndex.

      Tooltip: [-1,+infinity) coordIndex indices are applied to contained Coordinate values in order to define randomly generated initial geometry of the particles.
      • Warning: coordIndex is required in order to connect contained coordinate point values.
      Parameters:
      newValue - is new value for the coordIndex field.
      Returns:
      SurfaceEmitter - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMass

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

      Tooltip: [0,+infinity) Basic mass of each particle, defined in mass base units (default is kilograms).
      Specified by:
      getMass in interface X3DParticleEmitterNode
      Returns:
      value of mass field
    • setMass

      SurfaceEmitter setMass​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named mass.

      Tooltip: [0,+infinity) Basic mass of each particle, defined in mass base units (default is kilograms).
      Specified by:
      setMass in interface X3DParticleEmitterNode
      Parameters:
      newValue - is new value for the mass field.
      Returns:
      SurfaceEmitter - 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 X3DNode
      Specified by:
      getMetadata in interface X3DParticleEmitterNode
      Returns:
      value of metadata field
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      SurfaceEmitter setMetadata​(X3DMetadataObject newValue)
      Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
      Specified by:
      setMetadata in interface X3DNode
      Specified by:
      setMetadata in interface X3DParticleEmitterNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      SurfaceEmitter - 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
    • getSpeed

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

      Tooltip: [0,+infinity) Initial linear speed (default is m/s) imparted to all particles along their direction of movement. *
      Specified by:
      getSpeed in interface X3DParticleEmitterNode
      Returns:
      value of speed field
    • setSpeed

      SurfaceEmitter setSpeed​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named speed.

      Tooltip: [0,+infinity) Initial linear speed (default is m/s) imparted to all particles along their direction of movement. *
      Specified by:
      setSpeed in interface X3DParticleEmitterNode
      Parameters:
      newValue - is new value for the speed field.
      Returns:
      SurfaceEmitter - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getSurface

      X3DGeometryNode getSurface()
      Provide X3DGeometryNode instance (using a properly typed node) from initializeOnly SFNode field surface.

      Tooltip: [X3DGeometryNode] The geometry node provides geometry used as the emitting surface.
      • Hint: If the surface is indicated as not being solid (solid field set to false), randomly choose from which side of the surface to emit, negating the normal direction when generating from the back side.
      • Warning: only valid geometry shall be used.
      Returns:
      value of surface field
    • setSurface

      SurfaceEmitter setSurface​(X3DGeometryNode newValue)
      Accessor method to assign X3DGeometryNode instance (using a properly typed node) to initializeOnly SFNode field surface.

      Tooltip: [X3DGeometryNode] The geometry node provides geometry used as the emitting surface.
      • Hint: If the surface is indicated as not being solid (solid field set to false), randomly choose from which side of the surface to emit, negating the normal direction when generating from the back side.
      • Warning: only valid geometry shall be used.
      Parameters:
      newValue - is new value for the surface field.
      Returns:
      SurfaceEmitter - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getSurfaceArea

      float getSurfaceArea()
      Provide float value within allowed range of [0,infinity) from initializeOnly SFFloat field named surfaceArea.

      Tooltip: [0,+infinity) Particle surface area in area base units (default is meters squared). Surface area is used for calculations such as wind effects per particle.
      • Hint: surfaceArea value represents average frontal area presented to the wind.
      • Hint: assumes spherical model for each particle (i.e., surface area is the same regardless of direction).
      Specified by:
      getSurfaceArea in interface X3DParticleEmitterNode
      Returns:
      value of surfaceArea field
    • setSurfaceArea

      SurfaceEmitter setSurfaceArea​(float newValue)
      Accessor method to assign float value to initializeOnly SFFloat field named surfaceArea.

      Tooltip: [0,+infinity) Particle surface area in area base units (default is meters squared). Surface area is used for calculations such as wind effects per particle.
      • Hint: surfaceArea value represents average frontal area presented to the wind.
      • Hint: assumes spherical model for each particle (i.e., surface area is the same regardless of direction).
      Specified by:
      setSurfaceArea in interface X3DParticleEmitterNode
      Parameters:
      newValue - is new value for the surfaceArea field.
      Returns:
      SurfaceEmitter - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getVariation

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

      Tooltip: [0,+infinity) 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 possible initial values possible.
      • Hint: variation of zero does not allow any randomness.
      Specified by:
      getVariation in interface X3DParticleEmitterNode
      Returns:
      value of variation field
    • setVariation

      SurfaceEmitter setVariation​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named variation.

      Tooltip: [0,+infinity) 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 possible initial values possible.
      • Hint: variation of zero does not allow any randomness.
      Specified by:
      setVariation in interface X3DParticleEmitterNode
      Parameters:
      newValue - is new value for the variation field.
      Returns:
      SurfaceEmitter - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).