j3d.org Code

org.j3d.geom.particle
Class MaxAgePointForceEmitter

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

public class MaxAgePointForceEmitter
extends BaseEmitter

MaxAgePointEmitter checks the age of a Particle and reinitializes it by moving it to a point in space and clearing resultant force and velocity and setting a new randomized force on the Particle.

Version:
$Revision: 2.0 $
Author:
Daniel Selman

Field Summary
 
Fields inherited from class org.j3d.geom.particle.BaseEmitter
color, initialMass, lifetime, lifetimeVariation, particleCount, randomiser, speed, surfaceArea, variation
 
Constructor Summary
MaxAgePointForceEmitter(int maxTime, int maxParticleCount, float[] position, float[] color, float force, float variation)
          Construct a new emitter instance for a point emitter that gives the particle a random force direction and strength.
 
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

MaxAgePointForceEmitter

public MaxAgePointForceEmitter(int maxTime,
                               int maxParticleCount,
                               float[] position,
                               float[] color,
                               float force,
                               float variation)
Construct a new emitter instance for a point emitter that gives the particle a random force direction and strength. 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