com.bulletphysics.dynamics
Class DiscreteDynamicsWorld

java.lang.Object
  extended by com.bulletphysics.collision.dispatch.CollisionWorld
      extended by com.bulletphysics.dynamics.DynamicsWorld
          extended by com.bulletphysics.dynamics.DiscreteDynamicsWorld

public class DiscreteDynamicsWorld
extends DynamicsWorld

DiscreteDynamicsWorld provides discrete rigid body simulation.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.bulletphysics.collision.dispatch.CollisionWorld
CollisionWorld.ClosestConvexResultCallback, CollisionWorld.ClosestRayResultCallback, CollisionWorld.ConvexResultCallback, CollisionWorld.LocalConvexResult, CollisionWorld.LocalRayResult, CollisionWorld.LocalShapeInfo, CollisionWorld.RayResultCallback
 
Constructor Summary
DiscreteDynamicsWorld(Dispatcher dispatcher, BroadphaseInterface pairCache, ConstraintSolver constraintSolver, CollisionConfiguration collisionConfiguration)
           
 
Method Summary
 void addConstraint(TypedConstraint constraint, boolean disableCollisionsBetweenLinkedBodies)
           
 void addRigidBody(RigidBody body)
           
 void addRigidBody(RigidBody body, short group, short mask)
           
 void addVehicle(RaycastVehicle vehicle)
           
 void applyGravity()
          Apply gravity, call this once per timestep.
 void clearForces()
           
 void debugDrawObject(Transform worldTransform, CollisionShape shape, Vector3f color)
           
 void debugDrawWorld()
           
 CollisionWorld getCollisionWorld()
           
 TypedConstraint getConstraint(int index)
           
 ConstraintSolver getConstraintSolver()
           
 Vector3f getGravity(Vector3f out)
           
 int getNumConstraints()
           
 SimulationIslandManager getSimulationIslandManager()
           
 DynamicsWorldType getWorldType()
           
 void removeConstraint(TypedConstraint constraint)
           
 void removeRigidBody(RigidBody body)
           
 void removeVehicle(RaycastVehicle vehicle)
           
 void setConstraintSolver(ConstraintSolver solver)
           
 void setGravity(Vector3f gravity)
          Once a rigidbody is added to the dynamics world, it will get this gravity assigned.
 int stepSimulation(float timeStep, int maxSubSteps, float fixedTimeStep)
          stepSimulation proceeds the simulation over timeStep units.
 
Methods inherited from class com.bulletphysics.dynamics.DynamicsWorld
addConstraint, getSolverInfo, getWorldUserInfo, setInternalTickCallback, setWorldUserInfo, stepSimulation, stepSimulation
 
Methods inherited from class com.bulletphysics.collision.dispatch.CollisionWorld
addCollisionObject, addCollisionObject, convexSweepTest, destroy, getBroadphase, getCollisionObjectArray, getDebugDrawer, getDispatcher, getDispatchInfo, getNumCollisionObjects, getPairCache, objectQuerySingle, performDiscreteCollisionDetection, rayTest, rayTestSingle, removeCollisionObject, setBroadphase, setDebugDrawer, updateAabbs, updateSingleAabb
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiscreteDynamicsWorld

public DiscreteDynamicsWorld(Dispatcher dispatcher,
                             BroadphaseInterface pairCache,
                             ConstraintSolver constraintSolver,
                             CollisionConfiguration collisionConfiguration)
Method Detail

debugDrawWorld

public void debugDrawWorld()
Specified by:
debugDrawWorld in class DynamicsWorld

clearForces

public void clearForces()
Specified by:
clearForces in class DynamicsWorld

applyGravity

public void applyGravity()
Apply gravity, call this once per timestep.


stepSimulation

public int stepSimulation(float timeStep,
                          int maxSubSteps,
                          float fixedTimeStep)
Description copied from class: DynamicsWorld
stepSimulation proceeds the simulation over timeStep units. if maxSubSteps > 0, it will interpolate time steps.

Specified by:
stepSimulation in class DynamicsWorld

setGravity

public void setGravity(Vector3f gravity)
Description copied from class: DynamicsWorld
Once a rigidbody is added to the dynamics world, it will get this gravity assigned. Existing rigidbodies in the world get gravity assigned too, during this method.

Specified by:
setGravity in class DynamicsWorld

getGravity

public Vector3f getGravity(Vector3f out)
Specified by:
getGravity in class DynamicsWorld

removeRigidBody

public void removeRigidBody(RigidBody body)
Specified by:
removeRigidBody in class DynamicsWorld

addRigidBody

public void addRigidBody(RigidBody body)
Specified by:
addRigidBody in class DynamicsWorld

addRigidBody

public void addRigidBody(RigidBody body,
                         short group,
                         short mask)

addConstraint

public void addConstraint(TypedConstraint constraint,
                          boolean disableCollisionsBetweenLinkedBodies)
Overrides:
addConstraint in class DynamicsWorld

removeConstraint

public void removeConstraint(TypedConstraint constraint)
Overrides:
removeConstraint in class DynamicsWorld

addVehicle

public void addVehicle(RaycastVehicle vehicle)
Overrides:
addVehicle in class DynamicsWorld

removeVehicle

public void removeVehicle(RaycastVehicle vehicle)
Overrides:
removeVehicle in class DynamicsWorld

debugDrawObject

public void debugDrawObject(Transform worldTransform,
                            CollisionShape shape,
                            Vector3f color)

setConstraintSolver

public void setConstraintSolver(ConstraintSolver solver)
Specified by:
setConstraintSolver in class DynamicsWorld

getConstraintSolver

public ConstraintSolver getConstraintSolver()
Specified by:
getConstraintSolver in class DynamicsWorld

getNumConstraints

public int getNumConstraints()
Overrides:
getNumConstraints in class DynamicsWorld

getConstraint

public TypedConstraint getConstraint(int index)
Overrides:
getConstraint in class DynamicsWorld

getSimulationIslandManager

public SimulationIslandManager getSimulationIslandManager()

getCollisionWorld

public CollisionWorld getCollisionWorld()

getWorldType

public DynamicsWorldType getWorldType()
Specified by:
getWorldType in class DynamicsWorld