public class PhysicsEngine extends java.lang.Object implements IPhysicsEngine
| Constructor and Description |
|---|
PhysicsEngine() |
PhysicsEngine(boolean gravityActive,
boolean collisionDetectionActive,
boolean frictionActive) |
| Modifier and Type | Method and Description |
|---|---|
void |
applyCollisions(ILevel universe,
boolean dynamicsOn)
Marks Collision IComponents of applicable IEntities in universe with appropriate collidingIDs
|
void |
applyGravity(ILevel universe,
double secondsPassed) |
boolean |
applyImpulse(IEntity body,
Vector impulse)
Useful for debugging but will be deprecated!
Applies impulse J to IEntity body
|
void |
changeVelocityAfterCollision(IEntity firstEntity,
IEntity secondEntity) |
void |
setCollisionDetectionActive(boolean collisionDetectionActive) |
void |
setFrictionActive(boolean frictionActive) |
void |
setGravityActive(boolean gravityActive) |
void |
update(ILevel universe,
double dt)
Update Positions of IEntities in universe based on dt and their Velocities
|
public PhysicsEngine()
public PhysicsEngine(boolean gravityActive,
boolean collisionDetectionActive,
boolean frictionActive)
public void update(ILevel universe, double dt)
IPhysicsEngineupdate in interface IPhysicsEngineuniverse - IEntitySystem containing IEntities with both Positions and Velocitiesdt - duration of update in secondspublic boolean applyImpulse(IEntity body, Vector impulse)
IPhysicsEngineapplyImpulse in interface IPhysicsEnginebody - IEntity with Mass, Position, and Velocityimpulse - Impulse vector used to calculate the updated Velocitypublic void applyGravity(ILevel universe, double secondsPassed)
public void applyCollisions(ILevel universe, boolean dynamicsOn)
IPhysicsEngineapplyCollisions in interface IPhysicsEngineuniverse - IEntitySystem containing IEntities with both Positions and CollisionsdynamicsOn - if true, then impulses are subsequently applied to applicable IEntities
(with Mass, Position, Velocity, and of course, Collision)public void changeVelocityAfterCollision(IEntity firstEntity, IEntity secondEntity)
public void setGravityActive(boolean gravityActive)
public void setCollisionDetectionActive(boolean collisionDetectionActive)
public void setFrictionActive(boolean frictionActive)