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).
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
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).

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
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). Hint: mass is needed if gravity or other forcerelated calculations are performed on a perparticle basis.
 Hint: https://en.wikipedia.org/wiki/Kilogram
 Hint: X3D Architecture 4.3.6 Standard units and coordinate system https://www.web3d.org/documents/specifications/197751/V3.3/Part01/concepts.html#Standardunitscoordinates
 Specified by:
getMass
in interfaceX3DParticleEmitterNode
 Returns:
 value of mass field

setMass
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). Hint: mass is needed if gravity or other forcerelated calculations are performed on a perparticle basis.
 Hint: https://en.wikipedia.org/wiki/Kilogram
 Hint: X3D Architecture 4.3.6 Standard units and coordinate system https://www.web3d.org/documents/specifications/197751/V3.3/Part01/concepts.html#Standardunitscoordinates
 Specified by:
setMass
in interfaceX3DParticleEmitterNode
 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 interfaceX3DNode
 Specified by:
getMetadata
in interfaceX3DParticleEmitterNode
 Returns:
 value of metadata field
 See Also:
 X3D Scene Authoring Hints: Metadata Nodes

setMetadata
Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata. Specified by:
setMetadata
in interfaceX3DNode
 Specified by:
setMetadata
in interfaceX3DParticleEmitterNode
 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 interfaceX3DParticleEmitterNode
 Returns:
 value of speed field

setSpeed
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 interfaceX3DParticleEmitterNode
 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
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 interfaceX3DParticleEmitterNode
 Returns:
 value of surfaceArea field

setSurfaceArea
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 interfaceX3DParticleEmitterNode
 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 interfaceX3DParticleEmitterNode
 Returns:
 value of variation field

setVariation
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 interfaceX3DParticleEmitterNode
 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).
