sim.physics2D.constraint
Class ConstraintEngine

java.lang.Object
  extended by sim.physics2D.constraint.ConstraintEngine

public class ConstraintEngine
extends java.lang.Object

The ConstraintEngine solves for constraint forces and impulses


Method Summary
 void addCollisionResponses(Bag collidingList)
          Solves for and adds collision responses to the colliding objects
 Vector calculateConstraintForces(Vector externalForcesVector)
          Calculates the constraint forces based on the constraints and external forces currently in the system
static ConstraintEngine getInstance()
           
 void registerForceConstraint(ForceConstraint constraint)
          Registers a force constraint with the constraint engine
 void registerImpulseConstraint(ImpulseConstraint collision)
          Registers an impulse constraint with the constraint engine
 void removeNoCollisions(PhysicalObject2D c1, PhysicalObject2D c2)
          Turns collisions for a pair of objects back on
static ConstraintEngine reset()
           
 void setNoCollisions(PhysicalObject2D c1, PhysicalObject2D c2)
          Turns off collisions for a pair of objects
 boolean testNoCollisions(PhysicalObject2D c1, PhysicalObject2D c2)
          Tests whether collisions between a pair of objects is currently turned off
 void unRegisterForceConstraint(ForceConstraint con)
          Un-registers a force constraint with the constraint engine
 void unRegisterImpulseConstraint(ImpulseConstraint con)
          Un-registers an impulse constraint with the constraint engine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static ConstraintEngine getInstance()

reset

public static ConstraintEngine reset()

setNoCollisions

public void setNoCollisions(PhysicalObject2D c1,
                            PhysicalObject2D c2)
Turns off collisions for a pair of objects


removeNoCollisions

public void removeNoCollisions(PhysicalObject2D c1,
                               PhysicalObject2D c2)
Turns collisions for a pair of objects back on


testNoCollisions

public boolean testNoCollisions(PhysicalObject2D c1,
                                PhysicalObject2D c2)
Tests whether collisions between a pair of objects is currently turned off


registerForceConstraint

public void registerForceConstraint(ForceConstraint constraint)
Registers a force constraint with the constraint engine


registerImpulseConstraint

public void registerImpulseConstraint(ImpulseConstraint collision)
Registers an impulse constraint with the constraint engine


unRegisterForceConstraint

public void unRegisterForceConstraint(ForceConstraint con)
Un-registers a force constraint with the constraint engine


unRegisterImpulseConstraint

public void unRegisterImpulseConstraint(ImpulseConstraint con)
Un-registers an impulse constraint with the constraint engine


calculateConstraintForces

public Vector calculateConstraintForces(Vector externalForcesVector)
Calculates the constraint forces based on the constraints and external forces currently in the system


addCollisionResponses

public void addCollisionResponses(Bag collidingList)
Solves for and adds collision responses to the colliding objects