j3d.examples.particles
Class ParticleSystem

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Leaf
              extended by javax.media.j3d.Shape3D
                  extended by j3d.examples.particles.ParticleSystem
All Implemented Interfaces:
IParticleSystem, javax.media.j3d.GeometryUpdater
Direct Known Subclasses:
MotionBlurredParticleSystem, PointParticleSystem

public abstract class ParticleSystem
extends javax.media.j3d.Shape3D
implements IParticleSystem, javax.media.j3d.GeometryUpdater

The abstract super class for simple particle systems.


Field Summary
 
Fields inherited from class javax.media.j3d.Shape3D
ALLOW_APPEARANCE_OVERRIDE_READ, ALLOW_APPEARANCE_OVERRIDE_WRITE, ALLOW_APPEARANCE_READ, ALLOW_APPEARANCE_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE, ALLOW_GEOMETRY_READ, ALLOW_GEOMETRY_WRITE
 
Fields inherited from class javax.media.j3d.Node
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
ParticleSystem(ParticleEmitter anEmitter)
          Creates a particle system with default settings.
ParticleSystem(ParticleEmitter anEmitter, javax.vecmath.Color3f aColor3f)
          Creates a particle system.
ParticleSystem(ParticleEmitter anEmitter, javax.vecmath.Color4f aColor4f)
          Creates a particle system.
 
Method Summary
 float[] getParticleColor(Particle aParticle)
          Get the current color of a specific particle.
 boolean isAlive()
           
 boolean isDead()
           
 void nextFrame(float dt)
          Called during the animation of the particle system.
 void setParticleColor(Particle aParticle, float[] aColor)
          Set the color of the particle.
 void setParticleColor(Particle aParticle, float red, float green, float blue, float alpha)
          Set the color of a particle.
 void updateData(javax.media.j3d.Geometry geometry)
           
 
Methods inherited from class javax.media.j3d.Shape3D
addGeometry, cloneNode, duplicateNode, getAllGeometries, getAppearance, getAppearanceOverrideEnable, getBounds, getCollisionBounds, getGeometry, getGeometry, indexOfGeometry, insertGeometry, intersect, intersect, intersect, numGeometries, removeAllGeometries, removeGeometry, removeGeometry, setAppearance, setAppearanceOverrideEnable, setCollisionBounds, setGeometry, setGeometry
 
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface j3d.examples.particles.IParticleSystem
getLocalToVworld
 

Constructor Detail

ParticleSystem

public ParticleSystem(ParticleEmitter anEmitter)
Creates a particle system with default settings. The default initial particle color is white (opaque).

Parameters:
anEmitter - - A ParticleEmitter for this particle system.

ParticleSystem

public ParticleSystem(ParticleEmitter anEmitter,
                      javax.vecmath.Color3f aColor3f)
Creates a particle system.

Parameters:
anEmitter - - A ParticleEmitter for this particle system.
aColor3f - - The fully opaque initial color for particles in this particle system.

ParticleSystem

public ParticleSystem(ParticleEmitter anEmitter,
                      javax.vecmath.Color4f aColor4f)
Creates a particle system.

Parameters:
anEmitter - - A ParticleEmitter for this particle system.
aColor4f - - The initial color for particles in this particle system.
Method Detail

getParticleColor

public float[] getParticleColor(Particle aParticle)
Get the current color of a specific particle.

Parameters:
aParticle - - The particle of interest.
Returns:
A float[] containing the red, green, blue and alpha values of the color.

isAlive

public boolean isAlive()
Specified by:
isAlive in interface IParticleSystem
Returns:
true if this particle system is still alive.

isDead

public boolean isDead()
Specified by:
isDead in interface IParticleSystem
Returns:
true if this particle system is dead.

nextFrame

public void nextFrame(float dt)
Description copied from interface: IParticleSystem
Called during the animation of the particle system.

Specified by:
nextFrame in interface IParticleSystem

setParticleColor

public void setParticleColor(Particle aParticle,
                             float red,
                             float green,
                             float blue,
                             float alpha)
Set the color of a particle.

Parameters:
aParticle - - The particle to update.
red - - The red component of the color.
green - - The green component of the color.
blue - - The blue component of the color.
alpha - - - The alpha component of the color.

setParticleColor

public void setParticleColor(Particle aParticle,
                             float[] aColor)
Set the color of the particle.

Parameters:
aParticle - - The particle to update.
aColor - - A four element float[] containing the red, green, blue, and alpha color components.

updateData

public void updateData(javax.media.j3d.Geometry geometry)
Specified by:
updateData in interface javax.media.j3d.GeometryUpdater