Interface SurfaceEmitter
- All Superinterfaces:
X3DNode
,X3DParticleEmitterNode
- All Known Implementing Classes:
SurfaceEmitter
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
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
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 TypeMethodDescriptionfloat
getMass()
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
getOn()
Provide boolean value from inputOutput SFBool field named on.float
getSpeed()
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.setMetadata
(X3DMetadataObject newValue) 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.setSurface
(X3DGeometryNode newValue) 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).- 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/X3Dv4/ISO-IEC19775-1v4-IS/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/X3Dv4/ISO-IEC19775-1v4-IS/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/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Metadata
- Specified by:
getMetadata
in interfaceX3DNode
- Specified by:
getMetadata
in interfaceX3DParticleEmitterNode
- Returns:
- value of metadata field
- See Also:
-
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/X3Dv4/ISO-IEC19775-1v4-IS/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:
-
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 interfaceX3DParticleEmitterNode
- Returns:
- value of on field
-
setOn
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 interfaceX3DParticleEmitterNode
- 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 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).
-