![]() |
Jolt Physics
A multi core friendly Game Physics Engine
|
Temporary data used by the update of a soft body. More...
#include <SoftBodyUpdateContext.h>
Public Types | |
| enum class | EState { DetermineCollisionPlanes , DetermineSensorCollisions , ApplyConstraints , Done } |
| Describes progress in the current update. More... | |
Public Attributes | |
| Body * | mBody |
| Body that is being updated. More... | |
| SoftBodyMotionProperties * | mMotionProperties |
| Motion properties of that body. More... | |
| SoftBodyContactListener * | mContactListener |
| Contact listener to fire callbacks to. More... | |
| const SimShapeFilter * | mSimShapeFilter |
| Shape filter to use for collision detection. More... | |
| RMat44 | mCenterOfMassTransform |
| Transform of the body relative to the soft body. More... | |
| Vec3 | mGravity |
| Gravity vector in local space of the soft body. More... | |
| Vec3 | mDisplacementDueToGravity |
| Displacement of the center of mass due to gravity in the current time step. More... | |
| float | mDeltaTime |
| Delta time for the current time step. More... | |
| float | mSubStepDeltaTime |
| Delta time for each sub step. More... | |
| atomic< EState > | mState { EState::DetermineCollisionPlanes } |
| Current state of the update. More... | |
| atomic< uint > | mNextCollisionVertex { 0 } |
| Next vertex to process for DetermineCollisionPlanes. More... | |
| atomic< uint > | mNumCollisionVerticesProcessed { 0 } |
| Number of vertices processed by DetermineCollisionPlanes, used to determine if we can go to the next step. More... | |
| atomic< uint > | mNextSensorIndex { 0 } |
| Next sensor to process for DetermineCollisionPlanes. More... | |
| atomic< uint > | mNumSensorsProcessed { 0 } |
| Number of sensors processed by DetermineSensorCollisions, used to determine if we can go to the next step. More... | |
| atomic< uint > | mNextIteration { 0 } |
| Next simulation iteration to process. More... | |
| atomic< uint > | mNextConstraintGroup { 0 } |
| Next constraint group to process. More... | |
| atomic< uint > | mNumConstraintGroupsProcessed { 0 } |
| Number of groups processed, used to determine if we can go to the next iteration. More... | |
| Vec3 | mDeltaPosition |
| Delta position of the body in the current time step, should be applied after the update. More... | |
| ECanSleep | mCanSleep |
| Can the body sleep? Should be applied after the update. More... | |
Static Public Attributes | |
| static constexpr uint | cVertexCollisionBatch = 64 |
| Number of vertices to process in a batch in DetermineCollisionPlanes. More... | |
| static constexpr uint | cVertexConstraintBatch = 256 |
| Number of vertices to group for processing batches of constraints in ApplyEdgeConstraints. More... | |
Additional Inherited Members | |
Public Member Functions inherited from NonCopyable | |
| NonCopyable ()=default | |
| NonCopyable (const NonCopyable &)=delete | |
| void | operator= (const NonCopyable &)=delete |
Temporary data used by the update of a soft body.
|
strong |
|
staticconstexpr |
Number of vertices to process in a batch in DetermineCollisionPlanes.
|
staticconstexpr |
Number of vertices to group for processing batches of constraints in ApplyEdgeConstraints.
| ECanSleep SoftBodyUpdateContext::mCanSleep |
Can the body sleep? Should be applied after the update.
| RMat44 SoftBodyUpdateContext::mCenterOfMassTransform |
Transform of the body relative to the soft body.
| SoftBodyContactListener* SoftBodyUpdateContext::mContactListener |
Contact listener to fire callbacks to.
| Vec3 SoftBodyUpdateContext::mDeltaPosition |
Delta position of the body in the current time step, should be applied after the update.
| float SoftBodyUpdateContext::mDeltaTime |
Delta time for the current time step.
| Vec3 SoftBodyUpdateContext::mDisplacementDueToGravity |
Displacement of the center of mass due to gravity in the current time step.
| Vec3 SoftBodyUpdateContext::mGravity |
Gravity vector in local space of the soft body.
| SoftBodyMotionProperties* SoftBodyUpdateContext::mMotionProperties |
Motion properties of that body.
| atomic<uint> SoftBodyUpdateContext::mNextCollisionVertex { 0 } |
Next vertex to process for DetermineCollisionPlanes.
| atomic<uint> SoftBodyUpdateContext::mNextConstraintGroup { 0 } |
Next constraint group to process.
| atomic<uint> SoftBodyUpdateContext::mNextIteration { 0 } |
Next simulation iteration to process.
| atomic<uint> SoftBodyUpdateContext::mNextSensorIndex { 0 } |
Next sensor to process for DetermineCollisionPlanes.
| atomic<uint> SoftBodyUpdateContext::mNumCollisionVerticesProcessed { 0 } |
Number of vertices processed by DetermineCollisionPlanes, used to determine if we can go to the next step.
| atomic<uint> SoftBodyUpdateContext::mNumConstraintGroupsProcessed { 0 } |
Number of groups processed, used to determine if we can go to the next iteration.
| atomic<uint> SoftBodyUpdateContext::mNumSensorsProcessed { 0 } |
Number of sensors processed by DetermineSensorCollisions, used to determine if we can go to the next step.
| const SimShapeFilter* SoftBodyUpdateContext::mSimShapeFilter |
Shape filter to use for collision detection.
| atomic<EState> SoftBodyUpdateContext::mState { EState::DetermineCollisionPlanes } |
Current state of the update.
| float SoftBodyUpdateContext::mSubStepDeltaTime |
Delta time for each sub step.