![]() |
Jolt Physics
A multi core friendly Game Physics Engine
|
Structure that contains job handles for each integration sub step. More...
#include <PhysicsUpdateContext.h>
Classes | |
| struct | CCDBody |
| Contains the information needed to cast a body through the scene to do continuous collision detection. More... | |
Public Attributes | |
| Step * | mStep |
| Step that this substeb belongs to. More... | |
| bool | mIsFirst |
| If this is the first substep in the step. More... | |
| bool | mIsLast |
| If this is the last substep in the step. More... | |
| bool | mIsFirstOfAll |
| If this is the first substep of the first step. More... | |
| bool | mIsLastOfAll |
| If this is the last substep in the last step. More... | |
| atomic< uint32 > | mSolveVelocityConstraintsNextIsland { 0 } |
| Next island that needs to be processed for the solve velocity constraints step (doesn't need own cache line since position jobs don't run at same time) More... | |
| atomic< uint32 > | mSolvePositionConstraintsNextIsland { 0 } |
| Next island that needs to be processed for the solve position constraints step (doesn't need own cache line since velocity jobs don't run at same time) More... | |
| atomic< uint32 > | mIntegrateVelocityReadIdx { 0 } |
| Next active body index to take when integrating velocities. More... | |
| CCDBody * | mCCDBodies = nullptr |
| List of bodies that need to do continuous collision detection. More... | |
| uint32 | mCCDBodiesCapacity = 0 |
| Capacity of the mCCDBodies list. More... | |
| atomic< uint32 > | mNumCCDBodies = 0 |
| Number of CCD bodies in mCCDBodies. More... | |
| atomic< uint32 > | mNextCCDBody { 0 } |
| Next unprocessed body index in mCCDBodies. More... | |
| int * | mActiveBodyToCCDBody = nullptr |
| A mapping between an index in BodyManager::mActiveBodies and the index in mCCDBodies. More... | |
| uint32 | mNumActiveBodyToCCDBody = 0 |
| Number of indices in mActiveBodyToCCDBody. More... | |
| JobHandleArray | mSolveVelocityConstraints |
| Solve the constraints in the velocity domain. More... | |
| JobHandle | mPreIntegrateVelocity |
| Setup integration of all body positions. More... | |
| JobHandleArray | mIntegrateVelocity |
| Integrate all body positions. More... | |
| JobHandle | mPostIntegrateVelocity |
| Finalize integration of all body positions. More... | |
| JobHandle | mResolveCCDContacts |
| Updates the positions and velocities for all bodies that need continuous collision detection. More... | |
| JobHandleArray | mSolvePositionConstraints |
| Solve all constraints in the position domain. More... | |
| JobHandle | mStartNextSubStep |
| Trampoline job that either kicks the next sub step or the next step. More... | |
Structure that contains job handles for each integration sub step.
| int* PhysicsUpdateContext::SubStep::mActiveBodyToCCDBody = nullptr |
A mapping between an index in BodyManager::mActiveBodies and the index in mCCDBodies.
| CCDBody* PhysicsUpdateContext::SubStep::mCCDBodies = nullptr |
List of bodies that need to do continuous collision detection.
| uint32 PhysicsUpdateContext::SubStep::mCCDBodiesCapacity = 0 |
Capacity of the mCCDBodies list.
| JobHandleArray PhysicsUpdateContext::SubStep::mIntegrateVelocity |
Integrate all body positions.
| atomic<uint32> PhysicsUpdateContext::SubStep::mIntegrateVelocityReadIdx { 0 } |
Next active body index to take when integrating velocities.
| bool PhysicsUpdateContext::SubStep::mIsFirst |
If this is the first substep in the step.
| bool PhysicsUpdateContext::SubStep::mIsFirstOfAll |
If this is the first substep of the first step.
| bool PhysicsUpdateContext::SubStep::mIsLast |
If this is the last substep in the step.
| bool PhysicsUpdateContext::SubStep::mIsLastOfAll |
If this is the last substep in the last step.
| atomic<uint32> PhysicsUpdateContext::SubStep::mNextCCDBody { 0 } |
Next unprocessed body index in mCCDBodies.
| uint32 PhysicsUpdateContext::SubStep::mNumActiveBodyToCCDBody = 0 |
Number of indices in mActiveBodyToCCDBody.
| atomic<uint32> PhysicsUpdateContext::SubStep::mNumCCDBodies = 0 |
Number of CCD bodies in mCCDBodies.
| JobHandle PhysicsUpdateContext::SubStep::mPostIntegrateVelocity |
Finalize integration of all body positions.
| JobHandle PhysicsUpdateContext::SubStep::mPreIntegrateVelocity |
Setup integration of all body positions.
| JobHandle PhysicsUpdateContext::SubStep::mResolveCCDContacts |
Updates the positions and velocities for all bodies that need continuous collision detection.
| JobHandleArray PhysicsUpdateContext::SubStep::mSolvePositionConstraints |
Solve all constraints in the position domain.
| atomic<uint32> PhysicsUpdateContext::SubStep::mSolvePositionConstraintsNextIsland { 0 } |
Next island that needs to be processed for the solve position constraints step (doesn't need own cache line since velocity jobs don't run at same time)
| JobHandleArray PhysicsUpdateContext::SubStep::mSolveVelocityConstraints |
Solve the constraints in the velocity domain.
| atomic<uint32> PhysicsUpdateContext::SubStep::mSolveVelocityConstraintsNextIsland { 0 } |
Next island that needs to be processed for the solve velocity constraints step (doesn't need own cache line since position jobs don't run at same time)
| JobHandle PhysicsUpdateContext::SubStep::mStartNextSubStep |
Trampoline job that either kicks the next sub step or the next step.