Interface SurfaceEmitter

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

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

Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the org.web3d.x3d.jsail classes. SurfaceEmitter 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:
  • Method Summary

    Modifier and Type
    Method
    Description
    float
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named mass.
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    boolean
    Provide boolean value from inputOutput SFBool field named on.
    float
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named speed.
    Provide org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) from initializeOnly SFNode field surface.
    float
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named surfaceArea.
    float
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named variation.
    setMass(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named mass.
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    setOn(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named on.
    setSpeed(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named speed.
    Accessor method to assign org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) to initializeOnly SFNode field surface.
    setSurfaceArea(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named surfaceArea.
    setVariation(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named variation.
  • Method Details

    • 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 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 X3DNode
      Specified by:
      getMetadata in interface X3DParticleEmitterNode
      Returns:
      value of metadata field
      See Also:
    • setMetadata

      SurfaceEmitter 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 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:
    • getOn

      boolean getOn()
      Provide boolean value from inputOutput SFBool field named on.

      Tooltip: Enables/disables production of particles from this emitter node. If operating when turned off, existing particles complete their rendering process. *
      Specified by:
      getOn in interface X3DParticleEmitterNode
      Returns:
      value of on field
    • setOn

      SurfaceEmitter setOn(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named on.

      Tooltip: Enables/disables production of particles from this emitter node. If operating when turned off, existing particles complete their rendering process. *
      Specified by:
      setOn in interface X3DParticleEmitterNode
      Parameters:
      newValue - is new value for the on field.
      Returns:
      SurfaceEmitter - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • 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 org.web3d.x3d.sai.Rendering.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 org.web3d.x3d.sai.Rendering.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 inputOutput 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 inputOutput 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).