Class DefaultParticleInfluencer

All Implemented Interfaces:
ParticleInfluencer, Savable, JmeCloneable, Cloneable
Direct Known Subclasses:
NewtonianParticleInfluencer, RadialParticleInfluencer

public class DefaultParticleInfluencer extends Object implements ParticleInfluencer
This emitter influences the particles so that they move all in the same direction. The direction may vary a little if the velocity variation is non-zero. This influencer is default for the particle emitter.
  • Field Details


      public static final int SAVABLE_VERSION
      See Also:
    • temp

      protected transient Vector3f temp
      Temporary variable used to help with calculations.
    • initialVelocity

      protected Vector3f initialVelocity
      The initial velocity of the particles.
    • velocityVariation

      protected float velocityVariation
      The velocity's variation of the particles.
  • Constructor Details

    • DefaultParticleInfluencer

      public DefaultParticleInfluencer()
  • Method Details

    • influenceParticle

      public void influenceParticle(Particle particle, EmitterShape emitterShape)
      Description copied from interface: ParticleInfluencer
      This method influences the particle.
      Specified by:
      influenceParticle in interface ParticleInfluencer
      particle - particle to be influenced
      emitterShape - the shape of its emitter
    • applyVelocityVariation

      protected void applyVelocityVariation(Particle particle)
      This method applies the variation to the particle with already set velocity.
      particle - the particle to be affected
    • write

      public void write(JmeExporter ex) throws IOException
      Specified by:
      write in interface Savable
    • read

      public void read(JmeImporter im) throws IOException
      Specified by:
      read in interface Savable
    • clone

      public DefaultParticleInfluencer clone()
      Description copied from interface: ParticleInfluencer
      This method clones the influencer instance.
      Specified by:
      clone in interface ParticleInfluencer
      clone in class Object
      cloned instance
    • jmeClone

      public Object jmeClone()
      Called internally by com.jme3.util.clone.Cloner. Do not call directly.
      Specified by:
      jmeClone in interface JmeCloneable
      a new instance
    • cloneFields

      public void cloneFields(Cloner cloner, Object original)
      Called internally by com.jme3.util.clone.Cloner. Do not call directly.
      Specified by:
      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 only clone what it wants.
    • setInitialVelocity

      public void setInitialVelocity(Vector3f initialVelocity)
      Specified by:
      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.
    • getInitialVelocity

      public Vector3f getInitialVelocity()
      Description copied from interface: ParticleInfluencer
      This method returns the initial velocity.
      Specified by:
      getInitialVelocity in interface ParticleInfluencer
      the initial velocity
    • setVelocityVariation

      public void setVelocityVariation(float variation)
      Specified by:
      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.
    • getVelocityVariation

      public float getVelocityVariation()
      Description copied from interface: ParticleInfluencer
      This method returns the velocity variation.
      Specified by:
      getVelocityVariation in interface ParticleInfluencer
      the velocity variation