j3d.org Code

org.j3d.geom.particle
Class PhysicsFunction

java.lang.Object
  extended by org.j3d.geom.particle.PhysicsFunction
All Implemented Interfaces:
ParticleFunction

public class PhysicsFunction
extends java.lang.Object
implements ParticleFunction

Movement function that performs basic F=MA calculations for all the physics that have been set up in this frame by other functions.

A movement control on the Particles based on their applied resultantForce.

This ParticleFunction should be added to the ParticleSystem after any movement functions which are applying forces to Particles.

Some basic physics equations:

acceleration = force / mass;
velocity += acceleration * time_diff;
pos += velocity * time_diff;
ke = 0.5 * m * v * v
p.e (grav) = m * g * h
p.e (spring) = 0.5 * k * x * x (x = amount of compression)
total mech energy = k.e + p.e. (grav) + p.e. (spring)
power = work / time
power = force * displacement / time
f = m * a
f = m * delta v / t

Version:
$Revision: 2.1 $
Author:
Daniel Selman, Justin Couch

Constructor Summary
PhysicsFunction()
          Create a new default physics function to apply to particles.
 
Method Summary
 boolean apply(Particle particle)
          Apply this function to the given particle right now.
 boolean isEnabled()
          Check to see if this function has been enabled or not currently.
 boolean newFrame(int deltaT)
          Notification that the system is about to do an update of the particles and to do any system-level initialisation.
 void setEnabled(boolean state)
          Set the enabled state of this function.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PhysicsFunction

public PhysicsFunction()
Create a new default physics function to apply to particles.

Method Detail

isEnabled

public boolean isEnabled()
Check to see if this function has been enabled or not currently.

Specified by:
isEnabled in interface ParticleFunction
Returns:
True if this is enabled

setEnabled

public void setEnabled(boolean state)
Set the enabled state of this function. A disabled function will not be applied to particles during this update.

Specified by:
setEnabled in interface ParticleFunction
Parameters:
state - The new enabled state to set it to

newFrame

public boolean newFrame(int deltaT)
Notification that the system is about to do an update of the particles and to do any system-level initialisation.

Specified by:
newFrame in interface ParticleFunction
Parameters:
deltaT - The elapsed time in milliseconds since the last frame
Returns:
true if this should force another update after this one

apply

public boolean apply(Particle particle)
Apply this function to the given particle right now.

Specified by:
apply in interface ParticleFunction
Parameters:
particle - The particle to apply the function to
Returns:
true if the particle has changed, false otherwise

j3d.org Code

Latest Info from http://code.j3d.org/
Copyright © 2001 - j3d.org