Class EmitterSphereShape

java.lang.Object
com.jme3.effect.shapes.EmitterSphereShape
All Implemented Interfaces:
EmitterShape, Savable, JmeCloneable, Cloneable

public class EmitterSphereShape extends Object implements EmitterShape
An EmitterShape that emits particles randomly from within the volume of a sphere. The sphere is defined by a center point and a radius.
  • Constructor Details

    • EmitterSphereShape

      public EmitterSphereShape()
      For serialization only. Do not use.
    • EmitterSphereShape

      public EmitterSphereShape(Vector3f center, float radius)
      Constructs an EmitterSphereShape with the given center and radius.
      Parameters:
      center - The center point of the sphere.
      radius - The radius of the sphere.
      Throws:
      IllegalArgumentException - If center is null, or if radius is not greater than 0.
  • Method Details

    • deepClone

      public EmitterShape deepClone()
      Description copied from interface: EmitterShape
      This method creates a deep clone of the current instance of the emitter shape.
      Specified by:
      deepClone in interface EmitterShape
      Returns:
      deep clone of the current instance of the emitter shape
    • jmeClone

      public Object jmeClone()
      Called internally by com.jme3.util.clone.Cloner. Do not call directly.
      Specified by:
      jmeClone in interface JmeCloneable
      Returns:
      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
      Parameters:
      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.
    • getRandomPoint

      public void getRandomPoint(Vector3f store)
      Generates a random point within the volume of the sphere.
      Specified by:
      getRandomPoint in interface EmitterShape
      Parameters:
      store - The Vector3f to store the generated point in.
    • getRandomPointAndNormal

      public void getRandomPointAndNormal(Vector3f store, Vector3f normal)
      For a sphere shape, the normal is not well-defined for points within the volume. This implementation simply calls getRandomPoint(Vector3f) and does not modify the provided normal.
      Specified by:
      getRandomPointAndNormal in interface EmitterShape
      Parameters:
      store - The Vector3f to store the generated point in.
      normal - The Vector3f to store the generated normal in (unused).
    • getCenter

      public Vector3f getCenter()
      Returns the center point of the sphere.
      Returns:
      The center point.
    • setCenter

      public void setCenter(Vector3f center)
      Sets the center point of the sphere.
      Parameters:
      center - The new center point.
    • getRadius

      public float getRadius()
      Returns the radius of the sphere.
      Returns:
      The radius.
    • setRadius

      public void setRadius(float radius)
      Sets the radius of the sphere.
      Parameters:
      radius - The new radius.
    • write

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

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