com.bulletphysics.dynamics
Class DiscreteDynamicsWorld
java.lang.Object
com.bulletphysics.collision.dispatch.CollisionWorld
com.bulletphysics.dynamics.DynamicsWorld
com.bulletphysics.dynamics.DiscreteDynamicsWorld
public class DiscreteDynamicsWorld
- extends DynamicsWorld
DiscreteDynamicsWorld provides discrete rigid body simulation.
Those classes replace the obsolete CcdPhysicsEnvironment/CcdPhysicsController.
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. |
protected void |
calculateSimulationIslands()
|
void |
clearForces()
|
void |
debugDrawObject(Transform worldTransform,
CollisionShape shape,
javax.vecmath.Vector3f color)
|
protected void |
debugDrawSphere(float radius,
Transform transform,
javax.vecmath.Vector3f color)
|
void |
debugDrawWorld()
|
CollisionWorld |
getCollisionWorld()
|
TypedConstraint |
getConstraint(int index)
|
ConstraintSolver |
getConstraintSolver()
|
javax.vecmath.Vector3f |
getGravity(javax.vecmath.Vector3f out)
|
int |
getNumConstraints()
|
SimulationIslandManager |
getSimulationIslandManager()
|
DynamicsWorldType |
getWorldType()
|
protected void |
integrateTransforms(float timeStep)
|
protected void |
internalSingleStepSimulation(float timeStep)
|
protected void |
predictUnconstraintMotion(float timeStep)
|
void |
removeConstraint(TypedConstraint constraint)
|
void |
removeRigidBody(RigidBody body)
|
void |
removeVehicle(RaycastVehicle vehicle)
|
protected void |
saveKinematicState(float timeStep)
|
void |
setConstraintSolver(ConstraintSolver solver)
|
void |
setGravity(javax.vecmath.Vector3f gravity)
Once a rigidbody is added to the dynamics world, it will get this gravity assigned. |
protected void |
solveConstraints(ContactSolverInfo solverInfo)
|
protected void |
startProfiling(float timeStep)
|
int |
stepSimulation(float timeStep,
int maxSubSteps,
float fixedTimeStep)
stepSimulation proceeds the simulation over timeStep units. |
protected void |
synchronizeMotionStates()
|
protected void |
updateActivationState(float timeStep)
|
protected void |
updateVehicles(float timeStep)
|
Methods inherited from class com.bulletphysics.collision.dispatch.CollisionWorld |
addCollisionObject, addCollisionObject, destroy, getBroadphase, getCollisionObjectArray, getDebugDrawer, getDispatcher, getDispatchInfo, getNumCollisionObjects, getPairCache, performDiscreteCollisionDetection, rayTest, rayTestSingle, removeCollisionObject, setBroadphase, setDebugDrawer, updateAabbs |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
constraintSolver
protected ConstraintSolver constraintSolver
islandManager
protected SimulationIslandManager islandManager
constraints
protected final java.util.List<TypedConstraint> constraints
gravity
protected final javax.vecmath.Vector3f gravity
localTime
protected float localTime
ownsIslandManager
protected boolean ownsIslandManager
ownsConstraintSolver
protected boolean ownsConstraintSolver
vehicles
protected java.util.List<RaycastVehicle> vehicles
profileTimings
protected int profileTimings
DiscreteDynamicsWorld
public DiscreteDynamicsWorld(Dispatcher dispatcher,
BroadphaseInterface pairCache,
ConstraintSolver constraintSolver,
CollisionConfiguration collisionConfiguration)
saveKinematicState
protected void saveKinematicState(float timeStep)
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.
synchronizeMotionStates
protected void synchronizeMotionStates()
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
internalSingleStepSimulation
protected void internalSingleStepSimulation(float timeStep)
setGravity
public void setGravity(javax.vecmath.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 javax.vecmath.Vector3f getGravity(javax.vecmath.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)
updateVehicles
protected void updateVehicles(float timeStep)
updateActivationState
protected void updateActivationState(float timeStep)
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
solveConstraints
protected void solveConstraints(ContactSolverInfo solverInfo)
calculateSimulationIslands
protected void calculateSimulationIslands()
integrateTransforms
protected void integrateTransforms(float timeStep)
predictUnconstraintMotion
protected void predictUnconstraintMotion(float timeStep)
startProfiling
protected void startProfiling(float timeStep)
debugDrawSphere
protected void debugDrawSphere(float radius,
Transform transform,
javax.vecmath.Vector3f color)
debugDrawObject
public void debugDrawObject(Transform worldTransform,
CollisionShape shape,
javax.vecmath.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