|
Emini Physics Engine 1.3.5a API Documentation | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.emini.physics2D.ParticleEmitter
public class ParticleEmitter
Controls a batch of particles. The emitter controls all particle initialization parameters (like position, velocity). It also manages the particles for collisions with other objects. It resolves the collisions and controls the behavior of gravity and other external forces.
Field Summary | |
---|---|
protected short[] |
mLife
remaining lifetime of particle. |
protected int |
mMaxParticleCount
Maximum number of particles. |
protected UserData |
mUserData
User data |
protected float[] |
mXFX
X positions of the particles. |
protected float[] |
mXPrevFX
Last X positions of the particles. |
protected float[] |
mYFX
Y positions of the particles. |
protected float[] |
mYPrevFX
Last Y positions of the particles. |
Constructor Summary | |
---|---|
ParticleEmitter(int particleCount,
float creationRateFX,
float creationRateDeviationFX,
float averageLifeTimeFX,
float averageLifeTimeDeviationFX,
Body emitter,
FXVector emitPosition1,
FXVector emitPosition2,
float emitSpeedFX,
float emitSpeedDeviationFX,
float emitAngle2FX,
float emitAngleDeviation2FX,
boolean emitAxesFixed,
float elasticityFX,
float gravityEffectFX,
float dampingFX,
float timestepFX)
Constructor. |
|
ParticleEmitter(ParticleEmitter other)
Copy Constructor. |
Method Summary | |
---|---|
void |
applyAcceleration(FXVector gravity,
float dtFX)
APplies gravity to particles. |
boolean |
canCollide()
|
protected void |
collide(FXVector normal,
int particleIdx)
Performs collision for a given particle. |
ParticleEmitter |
copy(Body[] bodyMapping)
Copies the particle emitter. |
protected void |
createParticle(int index,
float timestepFX)
Creates the parameters for the particle at index. |
protected void |
createParticles(float timestepFX)
Creates the required number of new particles in the simulation. |
boolean |
emitAxesFixed()
|
float |
getAvgLifeTimeDeviationFX()
|
float |
getAvgLifeTimeFX()
|
float |
getCreationRateDeviationFX()
|
float |
getCreationRateFX()
|
float |
getDampingFX()
|
float |
getElasticityFX()
|
float |
getEmitAngle2FX()
|
float |
getEmitAngleDeviation2FX()
|
float |
getEmitSpeedDeviationFX()
|
float |
getEmitSpeedFX()
|
Body |
getEmitter()
|
float |
getGravityEffectFX()
|
short[] |
getLifeTimes()
|
int |
getMaxParticleCount()
|
FXVector |
getRelEmitterPos1()
|
FXVector |
getRelEmitterPos2()
|
UserData |
getUserData()
Get user data. |
float[] |
getXPosFX()
|
float[] |
getXPrevPosFX()
|
float[] |
getYPosFX()
|
float[] |
getYPrevPosFX()
|
void |
integrateParticles(float timestepFX)
Moves all particles. |
static ParticleEmitter |
loadParticleEmitter(PhysicsFileReader reader,
World world,
UserData userData)
Loads a Particle Emitter from stream. |
void |
setAvgLifeTime(float avgLifeTimeFX,
float avgLifeTimeDeviationFX)
|
void |
setCanCollide(boolean canCollide)
|
void |
setCreationRateFX(float creationRateFX,
float creationRateDeviationFX,
float timestepFX)
|
void |
setDampingFX(float dampingFX)
|
void |
setElasticityFX(float elasticityFX)
|
void |
setEmitAngle2FX(float emitAngle2FX,
float emitAngleDeviation2FX)
|
void |
setEmitAxesFixed(boolean emitAxesFixed)
|
void |
setEmitSpeedFX(float emitSpeedFX,
float emitSpeedDeviationFX)
|
void |
setEmitter(Body emitter)
|
void |
setGravityEffectFX(float gravityEffectFX)
|
void |
setMaxParticleCount(int maxParticleCount)
|
void |
setRelEmitterPos1(FXVector relEmitterPos1)
|
void |
setRelEmitterPos2(FXVector relEmitterPos2)
|
void |
setUserData(UserData userData)
Set User data |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int mMaxParticleCount
protected float[] mXFX
protected float[] mYFX
protected float[] mXPrevFX
protected float[] mYPrevFX
protected short[] mLife
protected UserData mUserData
Constructor Detail |
---|
public ParticleEmitter(int particleCount, float creationRateFX, float creationRateDeviationFX, float averageLifeTimeFX, float averageLifeTimeDeviationFX, Body emitter, FXVector emitPosition1, FXVector emitPosition2, float emitSpeedFX, float emitSpeedDeviationFX, float emitAngle2FX, float emitAngleDeviation2FX, boolean emitAxesFixed, float elasticityFX, float gravityEffectFX, float dampingFX, float timestepFX)
public ParticleEmitter(ParticleEmitter other)
Method Detail |
---|
public ParticleEmitter copy(Body[] bodyMapping)
bodyMapping
- the mapping of bodies in the new world (null if not used).
protected final void createParticle(int index, float timestepFX)
index
- index of the new particletimestepFX
- the timestep of the simulationprotected void createParticles(float timestepFX)
public void integrateParticles(float timestepFX)
public void applyAcceleration(FXVector gravity, float dtFX)
gravity
- dtFX
- protected void collide(FXVector normal, int particleIdx)
public float getCreationRateFX()
public float getCreationRateDeviationFX()
public float getAvgLifeTimeFX()
public float getAvgLifeTimeDeviationFX()
public int getMaxParticleCount()
public float getElasticityFX()
public float getGravityEffectFX()
public Body getEmitter()
public FXVector getRelEmitterPos1()
public FXVector getRelEmitterPos2()
public boolean emitAxesFixed()
public float getEmitSpeedFX()
public float getEmitSpeedDeviationFX()
public float getEmitAngle2FX()
public float getEmitAngleDeviation2FX()
public float getDampingFX()
public boolean canCollide()
public void setCreationRateFX(float creationRateFX, float creationRateDeviationFX, float timestepFX)
public void setAvgLifeTime(float avgLifeTimeFX, float avgLifeTimeDeviationFX)
public void setElasticityFX(float elasticityFX)
public void setGravityEffectFX(float gravityEffectFX)
public void setEmitter(Body emitter)
public void setRelEmitterPos1(FXVector relEmitterPos1)
public void setRelEmitterPos2(FXVector relEmitterPos2)
public void setEmitAxesFixed(boolean emitAxesFixed)
public void setEmitSpeedFX(float emitSpeedFX, float emitSpeedDeviationFX)
public void setEmitAngle2FX(float emitAngle2FX, float emitAngleDeviation2FX)
public void setMaxParticleCount(int maxParticleCount)
public void setDampingFX(float dampingFX)
public void setCanCollide(boolean canCollide)
public float[] getXPosFX()
public float[] getYPosFX()
public float[] getXPrevPosFX()
public float[] getYPrevPosFX()
public short[] getLifeTimes()
public static ParticleEmitter loadParticleEmitter(PhysicsFileReader reader, World world, UserData userData)
reader
- the file reader representing the data streamworld
- the world for correct referencing of bodies used by the particle emitter
public UserData getUserData()
public void setUserData(UserData userData)
userData
- the user data
|
Emini Physics Engine 1.3.5a API Documentation | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |