![]() |
Jolt Physics
A multi core friendly Game Physics Engine
|
Structure that contains data needed for each collision step. More...
#include <PhysicsUpdateContext.h>
Public Member Functions | |
| Step ()=default | |
| Step (const Step &) | |
Public Attributes | |
| PhysicsUpdateContext * | mContext |
| The physics update context. More... | |
| BroadPhase::UpdateState | mBroadPhaseUpdateState |
| Handle returned by Broadphase::UpdatePrepare. More... | |
| uint32 | mNumActiveBodiesAtStepStart |
| Number of bodies that were active at the start of the physics update step. Only these bodies will receive gravity (they are the first N in the active body list). More... | |
| atomic< uint32 > | mConstraintReadIdx { 0 } |
| Next constraint for determine active constraints. More... | |
| uint8 | mPadding1 [JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
| Padding to avoid sharing cache line with the next atomic. More... | |
| atomic< uint32 > | mNumActiveConstraints { 0 } |
| Number of constraints in the mActiveConstraints array. More... | |
| uint8 | mPadding2 [JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
| Padding to avoid sharing cache line with the next atomic. More... | |
| atomic< uint32 > | mStepListenerReadIdx { 0 } |
| Next step listener to call. More... | |
| uint8 | mPadding3 [JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
| Padding to avoid sharing cache line with the next atomic. More... | |
| atomic< uint32 > | mApplyGravityReadIdx { 0 } |
| Next body to apply gravity to. More... | |
| uint8 | mPadding4 [JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
| Padding to avoid sharing cache line with the next atomic. More... | |
| atomic< uint32 > | mActiveBodyReadIdx { 0 } |
| Index of fist active body that has not yet been processed by the broadphase. More... | |
| uint8 | mPadding5 [JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
| Padding to avoid sharing cache line with the next atomic. More... | |
| BodyPairQueues | mBodyPairQueues |
| Queues in which to put body pairs that need to be tested by the narrowphase. More... | |
| uint32 | mMaxBodyPairsPerQueue |
| Amount of body pairs that we can queue per queue. More... | |
| atomic< JobMask > | mActiveFindCollisionJobs |
| A bitmask that indicates which jobs are still active. More... | |
| atomic< uint > | mNumBodyPairs { 0 } |
| The number of body pairs found in this step (used to size the contact cache in the next step) More... | |
| atomic< uint > | mNumManifolds { 0 } |
| The number of manifolds found in this step (used to size the contact cache in the next step) More... | |
| JobHandle | mBroadPhasePrepare |
| Prepares the new tree in the background. More... | |
| JobHandleArray | mStepListeners |
| Listeners to notify of the beginning of a physics step. More... | |
| JobHandleArray | mDetermineActiveConstraints |
| Determine which constraints will be active during this step. More... | |
| JobHandleArray | mApplyGravity |
| Update velocities of bodies with gravity. More... | |
| JobHandleArray | mFindCollisions |
| Find all collisions between active bodies an the world. More... | |
| JobHandle | mUpdateBroadphaseFinalize |
| Swap the newly built tree with the current tree. More... | |
| JobHandle | mSetupVelocityConstraints |
| Calculate properties for all constraints in the constraint manager. More... | |
| JobHandle | mBuildIslandsFromConstraints |
| Go over all constraints and assign the bodies they're attached to to an island. More... | |
| JobHandle | mFinalizeIslands |
| Finalize calculation simulation islands. More... | |
| JobHandle | mBodySetIslandIndex |
| Set the current island index on each body (not used by the simulation, only for drawing purposes) More... | |
| SubSteps | mSubSteps |
| Integration sub steps. More... | |
| JobHandle | mContactRemovedCallbacks |
| Calls the contact removed callbacks. More... | |
| JobHandle | mStartNextStep |
| Job that kicks the next step (empty for the last step) More... | |
Structure that contains data needed for each collision step.
|
default |
|
inline |
| atomic<uint32> PhysicsUpdateContext::Step::mActiveBodyReadIdx { 0 } |
Index of fist active body that has not yet been processed by the broadphase.
| atomic<JobMask> PhysicsUpdateContext::Step::mActiveFindCollisionJobs |
A bitmask that indicates which jobs are still active.
| JobHandleArray PhysicsUpdateContext::Step::mApplyGravity |
Update velocities of bodies with gravity.
| atomic<uint32> PhysicsUpdateContext::Step::mApplyGravityReadIdx { 0 } |
Next body to apply gravity to.
| BodyPairQueues PhysicsUpdateContext::Step::mBodyPairQueues |
Queues in which to put body pairs that need to be tested by the narrowphase.
| JobHandle PhysicsUpdateContext::Step::mBodySetIslandIndex |
Set the current island index on each body (not used by the simulation, only for drawing purposes)
| JobHandle PhysicsUpdateContext::Step::mBroadPhasePrepare |
Prepares the new tree in the background.
| BroadPhase::UpdateState PhysicsUpdateContext::Step::mBroadPhaseUpdateState |
Handle returned by Broadphase::UpdatePrepare.
| JobHandle PhysicsUpdateContext::Step::mBuildIslandsFromConstraints |
Go over all constraints and assign the bodies they're attached to to an island.
| atomic<uint32> PhysicsUpdateContext::Step::mConstraintReadIdx { 0 } |
Next constraint for determine active constraints.
| JobHandle PhysicsUpdateContext::Step::mContactRemovedCallbacks |
Calls the contact removed callbacks.
| PhysicsUpdateContext* PhysicsUpdateContext::Step::mContext |
The physics update context.
| JobHandleArray PhysicsUpdateContext::Step::mDetermineActiveConstraints |
Determine which constraints will be active during this step.
| JobHandle PhysicsUpdateContext::Step::mFinalizeIslands |
Finalize calculation simulation islands.
| JobHandleArray PhysicsUpdateContext::Step::mFindCollisions |
Find all collisions between active bodies an the world.
| uint32 PhysicsUpdateContext::Step::mMaxBodyPairsPerQueue |
Amount of body pairs that we can queue per queue.
| uint32 PhysicsUpdateContext::Step::mNumActiveBodiesAtStepStart |
Number of bodies that were active at the start of the physics update step. Only these bodies will receive gravity (they are the first N in the active body list).
| atomic<uint32> PhysicsUpdateContext::Step::mNumActiveConstraints { 0 } |
Number of constraints in the mActiveConstraints array.
| atomic<uint> PhysicsUpdateContext::Step::mNumBodyPairs { 0 } |
The number of body pairs found in this step (used to size the contact cache in the next step)
| atomic<uint> PhysicsUpdateContext::Step::mNumManifolds { 0 } |
The number of manifolds found in this step (used to size the contact cache in the next step)
| uint8 PhysicsUpdateContext::Step::mPadding1[JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
Padding to avoid sharing cache line with the next atomic.
| uint8 PhysicsUpdateContext::Step::mPadding2[JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
Padding to avoid sharing cache line with the next atomic.
| uint8 PhysicsUpdateContext::Step::mPadding3[JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
Padding to avoid sharing cache line with the next atomic.
| uint8 PhysicsUpdateContext::Step::mPadding4[JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
Padding to avoid sharing cache line with the next atomic.
| uint8 PhysicsUpdateContext::Step::mPadding5[JPH_CACHE_LINE_SIZE - sizeof(atomic< uint32 >)] |
Padding to avoid sharing cache line with the next atomic.
| JobHandle PhysicsUpdateContext::Step::mSetupVelocityConstraints |
Calculate properties for all constraints in the constraint manager.
| JobHandle PhysicsUpdateContext::Step::mStartNextStep |
Job that kicks the next step (empty for the last step)
| atomic<uint32> PhysicsUpdateContext::Step::mStepListenerReadIdx { 0 } |
Next step listener to call.
| JobHandleArray PhysicsUpdateContext::Step::mStepListeners |
Listeners to notify of the beginning of a physics step.
| SubSteps PhysicsUpdateContext::Step::mSubSteps |
Integration sub steps.
| JobHandle PhysicsUpdateContext::Step::mUpdateBroadphaseFinalize |
Swap the newly built tree with the current tree.