j3d.org Code

org.j3d.geom.particle
Class MaxAgePointEmitter

java.lang.Object
  extended by org.j3d.geom.particle.BaseEmitter
      extended by org.j3d.geom.particle.MaxAgePointEmitter
All Implemented Interfaces:
ParticleInitializer

public class MaxAgePointEmitter
extends BaseEmitter

Emits particles at a fixed point in space which only have a maximum time limit and color set - all other values are zeroed out.

Version:
$Revision: 2.0 $
Author:
Justin Couch, Daniel Selman

Field Summary
 
Fields inherited from class org.j3d.geom.particle.BaseEmitter
color, initialMass, lifetime, lifetimeVariation, particleCount, randomiser, speed, surfaceArea, variation
 
Constructor Summary
MaxAgePointEmitter(int maxTime, int maxParticleCount, float[] position, float[] color, float variation)
          Construct a new emitter instance for a point emitter.
 
Method Summary
 boolean initialize(Particle particle)
          Initialize a particle based on the rules defined by this initializer.
 int numParticlesToCreate(int timeDelta)
          The number of particles that should be created and initialised this frame.
 void setMaxParticleCount(int maxCount)
          Adjust the maximum number of particles that this initializer is going to work with.
 void setParticleLifetime(int time)
          Change the maximum lifetime of the particles.
 void setPosition(float x, float y, float z)
          Change the basic position that the particles are being generated from.
 
Methods inherited from class org.j3d.geom.particle.BaseEmitter
getColor, getLifetimeVariation, getMass, getMaxParticleCount, getParticleLifetime, getParticleVariation, getSpeed, getSurfaceArea, setColor, setLifetimeVariation, setMass, setParticleVariation, setSpeed, setSurfaceArea
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MaxAgePointEmitter

public MaxAgePointEmitter(int maxTime,
                          int maxParticleCount,
                          float[] position,
                          float[] color,
                          float variation)
Construct a new emitter instance for a point emitter. The number of particles to create each frame is driven from the maximum particle count divided by the average lifetime.

Parameters:
maxTime - The time length of the particles to exist in milliseconds
maxParticleCount - The maximum number of particles to manage
position - The emitting position in the local space
color - The initial color of particles (4 component)
variation - The amount of variance for the initial values
Method Detail

setMaxParticleCount

public void setMaxParticleCount(int maxCount)
Adjust the maximum number of particles that this initializer is going to work with. This should not normally be called by the end user. The particle system that this initializer is registered with will call this method when it's corresponding method is called.

Specified by:
setMaxParticleCount in interface ParticleInitializer
Overrides:
setMaxParticleCount in class BaseEmitter
Parameters:
maxCount - The new maximum particle count to use

setParticleLifetime

public void setParticleLifetime(int time)
                         throws java.lang.IllegalArgumentException
Change the maximum lifetime of the particles. The lifetime of particles is defined in milliseconds, and must be positive.

Specified by:
setParticleLifetime in interface ParticleInitializer
Overrides:
setParticleLifetime in class BaseEmitter
Parameters:
time - The new lifetime, in milliseconds
Throws:
java.lang.IllegalArgumentException - The lifetime is zero or negative

numParticlesToCreate

public int numParticlesToCreate(int timeDelta)
The number of particles that should be created and initialised this frame. This is called once per frame by the particle system manager. Sends all particles initialially and nothing after that.

Parameters:
timeDelta - The delta between the last frame and this one in milliseconds
Returns:
The number of particles to create

initialize

public boolean initialize(Particle particle)
Initialize a particle based on the rules defined by this initializer. The particle system may choose to re-initialise previously dead particles. The implementation should not care whether the particle was previously in existance or not.

Parameters:
particle - The particle instance to initialize
Returns:
true if the ParticleSytem should keep running

setPosition

public void setPosition(float x,
                        float y,
                        float z)
Change the basic position that the particles are being generated from.

Parameters:
x - The x component of the location
y - The y component of the location
z - The z component of the location

j3d.org Code

Latest Info from http://code.j3d.org/
Copyright © 2001 - j3d.org