public class DefaultParticleInfluencer extends java.lang.Object implements ParticleInfluencer
Modifier and Type | Field and Description |
---|---|
protected Vector3f |
initialVelocity
The initial velocity of the particles.
|
static int |
SAVABLE_VERSION |
protected Vector3f |
temp
Temporary variable used to help with calculations.
|
protected float |
velocityVariation
The velocity's variation of the particles.
|
Constructor and Description |
---|
DefaultParticleInfluencer() |
Modifier and Type | Method and Description |
---|---|
protected void |
applyVelocityVariation(Particle particle)
This method applies the variation to the particle with already set velocity.
|
DefaultParticleInfluencer |
clone()
This method clones the influencer instance.
|
void |
cloneFields(Cloner cloner,
java.lang.Object original)
Called internally by com.jme3.util.clone.Cloner.
|
Vector3f |
getInitialVelocity()
This method returns the initial velocity.
|
float |
getVelocityVariation()
This method returns the velocity variation.
|
void |
influenceParticle(Particle particle,
EmitterShape emitterShape)
This method influences the particle.
|
java.lang.Object |
jmeClone()
Called internally by com.jme3.util.clone.Cloner.
|
void |
read(JmeImporter im) |
void |
setInitialVelocity(Vector3f initialVelocity) |
void |
setVelocityVariation(float variation) |
void |
write(JmeExporter ex) |
public static final int SAVABLE_VERSION
protected transient Vector3f temp
protected Vector3f initialVelocity
protected float velocityVariation
public void influenceParticle(Particle particle, EmitterShape emitterShape)
ParticleInfluencer
influenceParticle
in interface ParticleInfluencer
particle
- particle to be influencedemitterShape
- the shape of it emitterprotected void applyVelocityVariation(Particle particle)
particle
- the particle to be affectedpublic void write(JmeExporter ex) throws java.io.IOException
public void read(JmeImporter im) throws java.io.IOException
public DefaultParticleInfluencer clone()
ParticleInfluencer
clone
in interface ParticleInfluencer
clone
in class java.lang.Object
public java.lang.Object jmeClone()
jmeClone
in interface JmeCloneable
public void cloneFields(Cloner cloner, java.lang.Object original)
cloneFields
in interface JmeCloneable
cloner
- The cloner that is performing the cloning operation. The
cloneFields method can call back into the cloner to make
clones of its subordinate fields.original
- The original object from which this object was cloned.
This is provided for the very rare case that this object needs
to refer to its original for some reason. In general, all of
the relevant values should have been transferred during the
shallow clone and this object need merely clone what it wants.public void setInitialVelocity(Vector3f initialVelocity)
setInitialVelocity
in interface ParticleInfluencer
initialVelocity
- Set the initial velocity a particle is spawned with,
the initial velocity given in the parameter will be varied according
to the velocity variation set in ParticleEmitter.setVelocityVariation(float)
.
The particle will move with this velocity unless it is affected by
gravity.public Vector3f getInitialVelocity()
ParticleInfluencer
getInitialVelocity
in interface ParticleInfluencer
public void setVelocityVariation(float variation)
setVelocityVariation
in interface ParticleInfluencer
variation
- Set the variation by which the initial velocity
of the particle is determined. variation
should be a value
from 0 to 1, where 0 means particles are to spawn with exactly
the velocity given in ParticleEmitter.setInitialVelocity(com.jme3.math.Vector3f)
,
and 1 means particles are to spawn with a completely random velocity.public float getVelocityVariation()
ParticleInfluencer
getVelocityVariation
in interface ParticleInfluencer