Interface ParticleSystem
- All Superinterfaces:
X3DBoundedObject,X3DChildNode,X3DNode,X3DShapeNode
- All Known Implementing Classes:
ParticleSystemObject
public interface ParticleSystem extends X3DShapeNode
ParticleSystem specifies a complete particle system.
X3D node tooltip: (X3D version 3.2 or later) [X3DShapeNode] ParticleSystem specifies a complete particle system. It can contain Appearance for particle appearance, a geometry node if gemoetryType='GEOMETRY', a colorRamp Color|ColorRGBA node for changing base color over each particle's lifetime, a texcoordRamp TextureCoordinate node to control texture coordinates of provided texture(s) in the Appearance node over time, a single emitter X3DParticleEmitterNode, and an array of physics X3DParticlePhysicsModelNode nodes.
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) [X3DShapeNode] ParticleSystem specifies a complete particle system. It can contain Appearance for particle appearance, a geometry node if gemoetryType='GEOMETRY', a colorRamp Color|ColorRGBA node for changing base color over each particle's lifetime, a texcoordRamp TextureCoordinate node to control texture coordinates of provided texture(s) in the Appearance node over time, a single emitter X3DParticleEmitterNode, and an array of physics X3DParticlePhysicsModelNode nodes.
- Hint: event timing details are explained in X3D Specification 4.4.8.3 Execution model https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#ExecutionModelHint: Wikipedia, particle system https://en.wikipedia.org/wiki/Particle_system
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 voidaddPhysics(X3DNode[] newValue)Add array of child physics nodes to array of existing nodes (if any).X3DAppearanceNodegetAppearance()Provide X3DAppearanceNode instance (using a properly typed node) from inputOutput SFNode field appearance.float[]getBboxCenter()Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.float[]getBboxSize()Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.float[]getColorKey()Provide array of float results using RGB values [0..1] from initializeOnly MFFloat field named colorKey.X3DColorNodegetColorRamp()Provide X3DColorNode instance (using a properly typed node) using RGB values [0..1] from initializeOnly SFNode field colorRamp.booleangetCreateParticles()Provide boolean value from inputOutput SFBool field named createParticles.booleangetDisplayBBox()Provide boolean value from inputOutput SFBool field named displayBBox.X3DParticleEmitterNodegetEmitter()Provide X3DParticleEmitterNode instance (using a properly typed node) from initializeOnly SFNode field emitter.booleangetEnabled()Provide boolean value from inputOutput SFBool field named enabled.X3DGeometryNodegetGeometry()Provide X3DGeometryNode instance (using a properly typed node) from inputOutput SFNode field geometry.java.lang.StringgetGeometryType()Provide String enumeration value (baseType particleSystemGeometryTypeValues) ["LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY" | 'etc.'] from initializeOnly SFString field named geometryType.booleangetIsActive()Provide boolean value from outputOnly SFBool field named isActive.floatgetLifetimeVariation()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named lifetimeVariation.intgetMaxParticles()Provide int value within allowed range of [0,infinity) from inputOutput SFInt32 field named maxParticles.X3DMetadataObjectgetMetadata()Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.floatgetParticleLifetime()Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named particleLifetime.float[]getParticleSize()Provide array of 2-tuple float results within allowed range of [0,infinity) from inputOutput SFVec2f field named particleSize.X3DNode[]getPhysics()Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from initializeOnly MFNode field physics.float[]getTexCoordKey()Provide array of float results within allowed range of [0,infinity) from initializeOnly MFFloat field named texCoordKey.TextureCoordinategetTexCoordRamp()Provide TextureCoordinate instance (using a properly typed node) from initializeOnly SFNode field texCoordRamp.booleangetVisible()Provide boolean value from inputOutput SFBool field named visible.ParticleSystemsetAppearance(X3DAppearanceNode newValue)Accessor method to assign X3DAppearanceNode instance (using a properly typed node) to inputOutput SFNode field appearance.ParticleSystemsetBboxCenter(float[] newValue)Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.ParticleSystemsetBboxSize(float[] newValue)Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.ParticleSystemsetColorKey(float[] newValue)Accessor method to assign float array to initializeOnly MFFloat field named colorKey.ParticleSystemsetColorRamp(X3DColorNode newValue)Accessor method to assign X3DColorNode instance (using a properly typed node) to initializeOnly SFNode field colorRamp.ParticleSystemsetCreateParticles(boolean newValue)Accessor method to assign boolean value to inputOutput SFBool field named createParticles.ParticleSystemsetDisplayBBox(boolean newValue)Accessor method to assign boolean value to inputOutput SFBool field named displayBBox.ParticleSystemsetEmitter(X3DParticleEmitterNode newValue)Accessor method to assign X3DParticleEmitterNode instance (using a properly typed node) to initializeOnly SFNode field emitter.ParticleSystemsetEnabled(boolean newValue)Accessor method to assign boolean value to inputOutput SFBool field named enabled.ParticleSystemsetGeometry(X3DGeometryNode newValue)Accessor method to assign X3DGeometryNode instance (using a properly typed node) to inputOutput SFNode field geometry.ParticleSystemsetGeometryType(java.lang.String newValue)Accessor method to assign String enumeration value ("LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY") to initializeOnly SFString field named geometryType.ParticleSystemsetLifetimeVariation(float newValue)Accessor method to assign float value to inputOutput SFFloat field named lifetimeVariation.ParticleSystemsetMaxParticles(int newValue)Accessor method to assign int value to inputOutput SFInt32 field named maxParticles.ParticleSystemsetMetadata(X3DMetadataObject newValue)Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.ParticleSystemsetParticleLifetime(float newValue)Accessor method to assign float value to inputOutput SFFloat field named particleLifetime.ParticleSystemsetParticleSize(float[] newValue)Accessor method to assign 2-tuple float array to inputOutput SFVec2f field named particleSize.voidsetPhysics(X3DNode newValue)Set single child physics node, replacing prior array of existing nodes (if any).ParticleSystemsetPhysics(X3DNode[] newValue)Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to initializeOnly MFNode field physics.ParticleSystemsetTexCoordKey(float[] newValue)Accessor method to assign float array to initializeOnly MFFloat field named texCoordKey.ParticleSystemsetTexCoordRamp(TextureCoordinate newValue)Accessor method to assign TextureCoordinate instance (using a properly typed node) to initializeOnly SFNode field texCoordRamp.ParticleSystemsetVisible(boolean newValue)Accessor method to assign boolean value to inputOutput SFBool field named visible.
-
Method Details
-
getAppearance
X3DAppearanceNode getAppearance()Provide X3DAppearanceNode instance (using a properly typed node) from inputOutput SFNode field appearance.
Tooltip: [X3DAppearanceNode] The appearance field holds an Appearance node that is used for the geometry. All effects, such as material colors and/or multi-textures, are applied to each particle.- Hint: if a texture coordinate ramp and key is supplied with this geometry, it shall be used in preference to any automatic texture coordinate generation.
- Hint: if automatic texture coordinate generation is used, results shall be based on the entire volume that the particles consume, not locally applied to each particle.
- Specified by:
getAppearancein interfaceX3DShapeNode- Returns:
- value of appearance field
-
setAppearance
Accessor method to assign X3DAppearanceNode instance (using a properly typed node) to inputOutput SFNode field appearance.
Tooltip: [X3DAppearanceNode] The appearance field holds an Appearance node that is used for the geometry. All effects, such as material colors and/or multi-textures, are applied to each particle.- Hint: if a texture coordinate ramp and key is supplied with this geometry, it shall be used in preference to any automatic texture coordinate generation.
- Hint: if automatic texture coordinate generation is used, results shall be based on the entire volume that the particles consume, not locally applied to each particle.
- Specified by:
setAppearancein interfaceX3DShapeNode- Parameters:
newValue- is new value for the appearance field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBboxCenter
float[] getBboxCenter()Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.
Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#X3DBoundedObject
- Specified by:
getBboxCenterin interfaceX3DBoundedObject- Specified by:
getBboxCenterin interfaceX3DShapeNode- Returns:
- value of bboxCenter field
-
setBboxCenter
Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#X3DBoundedObject
- Specified by:
setBboxCenterin interfaceX3DBoundedObject- Specified by:
setBboxCenterin interfaceX3DShapeNode- Parameters:
newValue- is new value for the bboxCenter field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBboxSize
float[] getBboxSize()Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.
Tooltip: Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.- Hint: can be useful for collision computations or inverse-kinematics (IK) engines.
- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#X3DBoundedObject
- Specified by:
getBboxSizein interfaceX3DBoundedObject- Specified by:
getBboxSizein interfaceX3DShapeNode- Returns:
- value of bboxSize field
-
setBboxSize
Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.
Tooltip: Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.- Hint: can be useful for collision computations or inverse-kinematics (IK) engines.
- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#X3DBoundedObject
- Specified by:
setBboxSizein interfaceX3DBoundedObject- Specified by:
setBboxSizein interfaceX3DShapeNode- Parameters:
newValue- is new value for the bboxSize field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getColorKey
float[] getColorKey()Provide array of float results using RGB values [0..1] from initializeOnly MFFloat field named colorKey.
Tooltip: [0,+infinity) Array of time intervals in seconds, corresponding to particle lifetime, that are used to interpolate colorRamp array values.- Hint: color values are interpolated in linear Hue Saturation Value (HSV) space, similar to ColorInterpolator node.
- Hint: color values are defined as per-vertex color values.
- Warning: if an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.
- Hint: number of colorKey values must match length of the per-vertex colorRamp arrays!
- Hint: X3D Scene Authoring Hints, Color https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
- Returns:
- value of colorKey field
-
setColorKey
Accessor method to assign float array to initializeOnly MFFloat field named colorKey.
Tooltip: [0,+infinity) Array of time intervals in seconds, corresponding to particle lifetime, that are used to interpolate colorRamp array values.- Hint: color values are interpolated in linear Hue Saturation Value (HSV) space, similar to ColorInterpolator node.
- Hint: color values are defined as per-vertex color values.
- Warning: if an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.
- Hint: number of colorKey values must match length of the per-vertex colorRamp arrays!
- Hint: X3D Scene Authoring Hints, Color https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
- Parameters:
newValue- is new value for the colorKey field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getColorRamp
X3DColorNode getColorRamp()Provide X3DColorNode instance (using a properly typed node) using RGB values [0..1] from initializeOnly SFNode field colorRamp.
Tooltip: [X3DColorNode] The colorRamp Color|ColorRGBA node holds a series of color values to be used at the given colorKey points in time.- Hint: color values are defined as per-vertex color values.
- Warning: if an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.
- Hint: number of colorKey values must match length of the per-vertex colorRamp arrays!
- Hint: X3D Scene Authoring Hints, Color https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
- Returns:
- value of colorRamp field
-
setColorRamp
Accessor method to assign X3DColorNode instance (using a properly typed node) to initializeOnly SFNode field colorRamp.
Tooltip: [X3DColorNode] The colorRamp Color|ColorRGBA node holds a series of color values to be used at the given colorKey points in time.- Hint: color values are defined as per-vertex color values.
- Warning: if an Appearance and Material nodes are provided, those material properties override colorRamp interpolation.
- Hint: number of colorKey values must match length of the per-vertex colorRamp arrays!
- Hint: X3D Scene Authoring Hints, Color https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
- Parameters:
newValue- is new value for the colorRamp field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getCreateParticles
boolean getCreateParticles()Provide boolean value from inputOutput SFBool field named createParticles.
Tooltip: Enables/disables creation of new particles, while any existing particles remain in existence and continue to animate until the end of their lifetimes.- Hint: if no particles are left in scene, system is considered both active and enabled.
- Returns:
- value of createParticles field
-
setCreateParticles
Accessor method to assign boolean value to inputOutput SFBool field named createParticles.
Tooltip: Enables/disables creation of new particles, while any existing particles remain in existence and continue to animate until the end of their lifetimes.- Hint: if no particles are left in scene, system is considered both active and enabled.
- Parameters:
newValue- is new value for the createParticles field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getDisplayBBox
boolean getDisplayBBox()Provide boolean value from inputOutput SFBool field named displayBBox.- Specified by:
getDisplayBBoxin interfaceX3DBoundedObject- Specified by:
getDisplayBBoxin interfaceX3DShapeNode- Returns:
- value of displayBBox field
-
setDisplayBBox
Accessor method to assign boolean value to inputOutput SFBool field named displayBBox.- Specified by:
setDisplayBBoxin interfaceX3DBoundedObject- Specified by:
setDisplayBBoxin interfaceX3DShapeNode- Parameters:
newValue- is new value for the displayBBox field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getEmitter
X3DParticleEmitterNode getEmitter()Provide X3DParticleEmitterNode instance (using a properly typed node) from initializeOnly SFNode field emitter.
Tooltip: [X3DParticleEmitterNode] The emitter field specifies the type of emitter geometry and properties that the particles are given for their initial positions. *- Returns:
- value of emitter field
-
setEmitter
Accessor method to assign X3DParticleEmitterNode instance (using a properly typed node) to initializeOnly SFNode field emitter.
Tooltip: [X3DParticleEmitterNode] The emitter field specifies the type of emitter geometry and properties that the particles are given for their initial positions. *- Parameters:
newValue- is new value for the emitter field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getEnabled
boolean getEnabled()Provide boolean value from inputOutput SFBool field named enabled.
Tooltip: Enables/disables node operation. *- Returns:
- value of enabled field
-
setEnabled
Accessor method to assign boolean value to inputOutput SFBool field named enabled.
Tooltip: Enables/disables node operation. *- Parameters:
newValue- is new value for the enabled field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getGeometry
X3DGeometryNode getGeometry()Provide X3DGeometryNode instance (using a properly typed node) from inputOutput SFNode field geometry.
Tooltip: [X3DGeometryNode] Single contained geometry node provides geometry used for each particle when geometryType=GEOMETRY.- Hint: X3D for Advanced Modeling (X3D4AM) slideset http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/GeospatialComponentX3dEarth.pdf
- Warning: requires X3D profile='Full' or else include <component name='Geospatial' level='1'/>
- Specified by:
getGeometryin interfaceX3DShapeNode- Returns:
- value of geometry field
-
setGeometry
Accessor method to assign X3DGeometryNode instance (using a properly typed node) to inputOutput SFNode field geometry.
Tooltip: [X3DGeometryNode] Single contained geometry node provides geometry used for each particle when geometryType=GEOMETRY.- Hint: X3D for Advanced Modeling (X3D4AM) slideset http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/GeospatialComponentX3dEarth.pdf
- Warning: requires X3D profile='Full' or else include <component name='Geospatial' level='1'/>
- Specified by:
setGeometryin interfaceX3DShapeNode- Parameters:
newValue- is new value for the geometry field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getGeometryType
java.lang.String getGeometryType()Provide String enumeration value (baseType particleSystemGeometryTypeValues) ["LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY" | 'etc.'] from initializeOnly SFString field named geometryType.
Tooltip: specifies type of geometry used to represent individual particles. Typically, a particle is calculated as point in space at which the geometry is placed. Changing the value of the geometry field or the definition of the geometry node shall be applied during current computation of the next frame to be rendered.- Hint: LINE means that a line is drawn along the particle's current velocity vector, for this frame, centered about the particle's position. The length of the line is specified by the particle's height from the particleSize field value.
- Hint: POINT means that a point geometry is rendered at the particle's position.
- Hint: QUAD means that a 2D quad is rendered aligned in the local coordinate space of the particle system with the face normal pointing along the positive Z axis. Individual quads are not aligned to the user's eye position but are affected in depth by the physics model. The particle's position is at the center of the quad.
- Hint: SPRITE means that a point sprite that uses a 2D point position to locate a screen-aligned quad at the center of the particle's location is rendered.
- Hint: TRIANGLE means that a 2D quad is rendered using a pair of triangles aligned in the local coordinate space of the particle system with the face normal pointing along the positive Z axis. Individual triangles are not aligned to the user's eye position, but are affected in depth by the physics model. The particle's position is at the center of the triangle.
- Hint: GEOMETRY means that the geometry specified by the geometry field is rendered for each particle using the local coordinate system.
- Warning: do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
- Hint: X3D for Advanced Modeling (X3D4AM) slideset http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/GeospatialComponentX3dEarth.pdf
- Warning: requires X3D profile='Full' or else include <component name='Geospatial' level='1'/>
- Returns:
- value of geometryType field
-
setGeometryType
Accessor method to assign String enumeration value ("LINE" | "POINT" | "QUAD" | "SPRITE" | "TRIANGLE" | "GEOMETRY") to initializeOnly SFString field named geometryType.
Tooltip: specifies type of geometry used to represent individual particles. Typically, a particle is calculated as point in space at which the geometry is placed. Changing the value of the geometry field or the definition of the geometry node shall be applied during current computation of the next frame to be rendered.- Hint: LINE means that a line is drawn along the particle's current velocity vector, for this frame, centered about the particle's position. The length of the line is specified by the particle's height from the particleSize field value.
- Hint: POINT means that a point geometry is rendered at the particle's position.
- Hint: QUAD means that a 2D quad is rendered aligned in the local coordinate space of the particle system with the face normal pointing along the positive Z axis. Individual quads are not aligned to the user's eye position but are affected in depth by the physics model. The particle's position is at the center of the quad.
- Hint: SPRITE means that a point sprite that uses a 2D point position to locate a screen-aligned quad at the center of the particle's location is rendered.
- Hint: TRIANGLE means that a 2D quad is rendered using a pair of triangles aligned in the local coordinate space of the particle system with the face normal pointing along the positive Z axis. Individual triangles are not aligned to the user's eye position, but are affected in depth by the physics model. The particle's position is at the center of the triangle.
- Hint: GEOMETRY means that the geometry specified by the geometry field is rendered for each particle using the local coordinate system.
- Warning: do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
- Hint: X3D for Advanced Modeling (X3D4AM) slideset http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/GeospatialComponentX3dEarth.pdf
- Warning: requires X3D profile='Full' or else include <component name='Geospatial' level='1'/>
- Parameters:
newValue- is new value for the geometryType field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getIsActive
boolean getIsActive()Provide boolean value from outputOnly SFBool field named isActive.
Tooltip: isActive true/false events are sent when playback starts/stops.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Returns:
- value of isActive field
-
getLifetimeVariation
float getLifetimeVariation()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named lifetimeVariation.
Tooltip: [0,1) TODO not properly defined in X3D spedification. 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 initial values possible.- Hint: variation of zero does not allow any randomness.
- Returns:
- value of lifetimeVariation field
-
setLifetimeVariation
Accessor method to assign float value to inputOutput SFFloat field named lifetimeVariation.
Tooltip: [0,1) TODO not properly defined in X3D spedification. 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 initial values possible.- Hint: variation of zero does not allow any randomness.
- Parameters:
newValue- is new value for the lifetimeVariation field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getMaxParticles
int getMaxParticles()Provide int value within allowed range of [0,infinity) from inputOutput SFInt32 field named maxParticles.
Tooltip: [0,+infinity) Maximum number of particles to be generated at one time (subject to player limitations). *- Returns:
- value of maxParticles field
-
setMaxParticles
Accessor method to assign int value to inputOutput SFInt32 field named maxParticles.
Tooltip: [0,+infinity) Maximum number of particles to be generated at one time (subject to player limitations). *- Parameters:
newValue- is new value for the maxParticles field.- Returns:
ParticleSystem- 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.
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/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
getMetadatain interfaceX3DChildNode- Specified by:
getMetadatain interfaceX3DNode- Specified by:
getMetadatain interfaceX3DShapeNode- 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.
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/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
setMetadatain interfaceX3DChildNode- Specified by:
setMetadatain interfaceX3DNode- Specified by:
setMetadatain interfaceX3DShapeNode- Parameters:
newValue- is new value for the metadata field.- Returns:
ParticleSystem- 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
-
getParticleLifetime
float getParticleLifetime()Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named particleLifetime.
Tooltip: [0,+infinity) TODO not properly defined in X3D spedification. Particle animation lifetime in base time units (default is seconds). *- Returns:
- value of particleLifetime field
-
setParticleLifetime
Accessor method to assign float value to inputOutput SFFloat field named particleLifetime.
Tooltip: [0,+infinity) TODO not properly defined in X3D spedification. Particle animation lifetime in base time units (default is seconds). *- Parameters:
newValue- is new value for the particleLifetime field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getParticleSize
float[] getParticleSize()Provide array of 2-tuple float results within allowed range of [0,infinity) from inputOutput SFVec2f field named particleSize.
Tooltip: [0,+infinity) particleSize describes width and height dimensions for each particle in length base units (default is meters). Changing this value dynamically will only change new particles created after the change.- Hint: particles created before this timestamp will remain at the old size.
- Hint: his field only effects particles using LINE, QUAD, SPRITE, and TRIANGLE geometry types.
- Returns:
- value of particleSize field
-
setParticleSize
Accessor method to assign 2-tuple float array to inputOutput SFVec2f field named particleSize.
Tooltip: [0,+infinity) particleSize describes width and height dimensions for each particle in length base units (default is meters). Changing this value dynamically will only change new particles created after the change.- Hint: particles created before this timestamp will remain at the old size.
- Hint: his field only effects particles using LINE, QUAD, SPRITE, and TRIANGLE geometry types.
- Parameters:
newValue- is new value for the particleSize field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getPhysics
X3DNode[] getPhysics()Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from initializeOnly MFNode field physics.
Tooltip: [X3DParticlePhysicsModelNode] After being created, the individual particles are then manipulated according to the physics model(s) specified in the physics field. *
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DParticlePhysicsModelNode.- Returns:
- value of physics field
- See Also:
X3DParticlePhysicsModelNode
-
setPhysics
Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to initializeOnly MFNode field physics.
Tooltip: [X3DParticlePhysicsModelNode] After being created, the individual particles are then manipulated according to the physics model(s) specified in the physics field. *
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DParticlePhysicsModelNode.- Parameters:
newValue- is new value for the physics field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
addPhysics
Add array of child physics nodes to array of existing nodes (if any).
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DParticlePhysicsModelNode.- Parameters:
newValue- is new value array to be appended the physics field.
-
setPhysics
Set single child physics node, replacing prior array of existing nodes (if any).- Parameters:
newValue- is new node for the physics field
-
getTexCoordKey
float[] getTexCoordKey()Provide array of float results within allowed range of [0,infinity) from initializeOnly MFFloat field named texCoordKey.
Tooltip: [0,+infinity) Array of time intervals in seconds, corresponding to particle lifetime, that are used to sequence texCoordRamp array values.- Hint: no interpolation is performed, texture coordinates are simply sequenced in order.
- Hint: texture-coordinate values map textures to vertices in the geometry.
- Hint: number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!.
- Returns:
- value of texCoordKey field
-
setTexCoordKey
Accessor method to assign float array to initializeOnly MFFloat field named texCoordKey.
Tooltip: [0,+infinity) Array of time intervals in seconds, corresponding to particle lifetime, that are used to sequence texCoordRamp array values.- Hint: no interpolation is performed, texture coordinates are simply sequenced in order.
- Hint: texture-coordinate values map textures to vertices in the geometry.
- Hint: number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!.
- Parameters:
newValue- is new value for the texCoordKey field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getTexCoordRamp
TextureCoordinate getTexCoordRamp()Provide TextureCoordinate instance (using a properly typed node) from initializeOnly SFNode field texCoordRamp.
Tooltip: [TextureCoordinate] texture coordinates of the provided texture(s) in the Appearance node, over time. Particle systems frequently like to change the texture on a particle as it ages, yet there is no good way of accomplishing this through standard interpolators because interpolators have no concept of particle time. This pair of fields hold time-dependent values for the texture coordinates to be applied to the particle. When a particle reaches the next time stamp it moves to the next set of texture coordinates.- Hint: texture-coordinate values map textures to vertices in the geometry.
- Hint: number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!.
- Returns:
- value of texCoordRamp field
-
setTexCoordRamp
Accessor method to assign TextureCoordinate instance (using a properly typed node) to initializeOnly SFNode field texCoordRamp.
Tooltip: [TextureCoordinate] texture coordinates of the provided texture(s) in the Appearance node, over time. Particle systems frequently like to change the texture on a particle as it ages, yet there is no good way of accomplishing this through standard interpolators because interpolators have no concept of particle time. This pair of fields hold time-dependent values for the texture coordinates to be applied to the particle. When a particle reaches the next time stamp it moves to the next set of texture coordinates.- Hint: texture-coordinate values map textures to vertices in the geometry.
- Hint: number of texCoordKey values must match length of the per-vertex texCoordRamp arrays!.
- Parameters:
newValue- is new value for the texCoordRamp field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getVisible
boolean getVisible()Provide boolean value from inputOutput SFBool field named visible.- Specified by:
getVisiblein interfaceX3DBoundedObject- Specified by:
getVisiblein interfaceX3DShapeNode- Returns:
- value of visible field
-
setVisible
Accessor method to assign boolean value to inputOutput SFBool field named visible.- Specified by:
setVisiblein interfaceX3DBoundedObject- Specified by:
setVisiblein interfaceX3DShapeNode- Parameters:
newValue- is new value for the visible field.- Returns:
ParticleSystem- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-