|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecttoxi.physics2d.VerletPhysics2D
public class VerletPhysics2D
3D particle physics engine using Verlet integration based on: http://en.wikipedia.org/wiki/Verlet_integration http://www.teknikus.dk/tj/gdc2001.htm
Field Summary | |
---|---|
java.util.List<ParticleBehavior2D> |
behaviors
|
java.util.ArrayList<VerletParticle2D> |
particles
List of particles |
java.util.ArrayList<VerletSpring2D> |
springs
List of spring/stick connectors |
Constructor Summary | |
---|---|
VerletPhysics2D()
Initializes a Verlet engine instance using the default values. |
|
VerletPhysics2D(toxi.geom.Vec2D gravity,
int numIterations,
float drag,
float timeStep)
Initializes an Verlet engine instance with the passed in configuration. |
Method Summary | |
---|---|
void |
addBehavior(ParticleBehavior2D behavior)
|
static void |
addConstraintToAll(ParticleConstraint2D c,
java.util.List<VerletParticle2D> list)
|
VerletPhysics2D |
addParticle(VerletParticle2D p)
Adds a particle to the list |
VerletPhysics2D |
addSpring(VerletSpring2D s)
Adds a spring connector |
VerletPhysics2D |
clear()
|
toxi.geom.Rect |
getCurrentBounds()
|
float |
getDrag()
|
int |
getNumIterations()
|
VerletSpring2D |
getSpring(toxi.geom.Vec2D a,
toxi.geom.Vec2D b)
Attempts to find the spring element between the 2 particles supplied |
float |
getTimeStep()
|
toxi.geom.Rect |
getWorldBounds()
|
boolean |
removeBehavior(ParticleBehavior2D c)
|
static void |
removeConstraintFromAll(ParticleConstraint2D c,
java.util.List<VerletParticle2D> list)
|
boolean |
removeParticle(VerletParticle2D p)
Removes a particle from the simulation. |
boolean |
removeSpring(VerletSpring2D s)
Removes a spring connector from the simulation instance. |
boolean |
removeSpringElements(VerletSpring2D s)
Removes a spring connector and its both end point particles from the simulation |
void |
setDrag(float drag)
|
void |
setNumIterations(int numIterations)
|
void |
setTimeStep(float timeStep)
|
VerletPhysics2D |
setWorldBounds(toxi.geom.Rect world)
Sets bounding box |
VerletPhysics2D |
update()
Progresses the physics simulation by 1 time step and updates all forces and particle positions accordingly |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public java.util.ArrayList<VerletParticle2D> particles
public java.util.ArrayList<VerletSpring2D> springs
public final java.util.List<ParticleBehavior2D> behaviors
Constructor Detail |
---|
public VerletPhysics2D()
public VerletPhysics2D(toxi.geom.Vec2D gravity, int numIterations, float drag, float timeStep)
gravity
- 3D gravity vectornumIterations
- iterations per time step for verlet solverdrag
- drag value 0...1timeStep
- time step for calculating forcesMethod Detail |
---|
public static void addConstraintToAll(ParticleConstraint2D c, java.util.List<VerletParticle2D> list)
public static void removeConstraintFromAll(ParticleConstraint2D c, java.util.List<VerletParticle2D> list)
public void addBehavior(ParticleBehavior2D behavior)
public VerletPhysics2D addParticle(VerletParticle2D p)
p
-
public VerletPhysics2D addSpring(VerletSpring2D s)
s
-
public VerletPhysics2D clear()
public toxi.geom.Rect getCurrentBounds()
public float getDrag()
public int getNumIterations()
public VerletSpring2D getSpring(toxi.geom.Vec2D a, toxi.geom.Vec2D b)
a
- particle 1b
- particle 2
public float getTimeStep()
public toxi.geom.Rect getWorldBounds()
public boolean removeBehavior(ParticleBehavior2D c)
public boolean removeParticle(VerletParticle2D p)
p
- particle to remove
public boolean removeSpring(VerletSpring2D s)
s
- spring to remove
public boolean removeSpringElements(VerletSpring2D s)
s
- spring to remove
public void setDrag(float drag)
public void setNumIterations(int numIterations)
numIterations
- the numIterations to setpublic void setTimeStep(float timeStep)
timeStep
- the timeStep to setpublic VerletPhysics2D setWorldBounds(toxi.geom.Rect world)
world
-
public VerletPhysics2D update()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |