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.
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 org.web3d.x3d.sai.Core.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 org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) from initializeOnly SFNode field surface.float
getSurfaceArea()
Provide float value within allowed range of [0,infinity) from inputOutput 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 org.web3d.x3d.sai.Core.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 org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) to initializeOnly SFNode field surface.SurfaceEmitter
setSurfaceArea(float newValue)
Accessor method to assign float value to inputOutput 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 force-related calculations are performed on a per-particle basis.
- Hint: https://en.wikipedia.org/wiki/Kilogram
- Hint: X3D Architecture 4.3.6 Standard units and coordinate system https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/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 force-related calculations are performed on a per-particle basis.
- Hint: https://en.wikipedia.org/wiki/Kilogram
- Hint: X3D Architecture 4.3.6 Standard units and coordinate system https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/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 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.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/Part01/components/core.html#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 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.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/Part01/components/core.html#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 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
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 interfaceX3DParticleEmitterNode
- Returns:
- value of surfaceArea field
-
setSurfaceArea
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 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).
-