Temporary data used by the update of a soft body.
More...
#include <SoftBodyUpdateContext.h>
Temporary data used by the update of a soft body.
◆ EState
Describes progress in the current update.
Enumerator |
---|
DetermineCollisionPlanes | Determine collision planes for vertices in parallel.
|
ApplyEdgeConstraints | Apply edge constraints in parallel.
|
Done | Update is finished.
|
◆ sGetEdgeGroupAndStartIdx()
static void SoftBodyUpdateContext::sGetEdgeGroupAndStartIdx |
( |
uint64 | inNextEdgeConstraint, |
|
|
uint32 & | outGroup, |
|
|
uint32 & | outStartIdx ) |
|
inlinestatic |
Get the group and start index from the edge constraint iterator.
◆ sGetEdgeGroupStart()
static uint64 SoftBodyUpdateContext::sGetEdgeGroupStart |
( |
uint32 | inGroup | ) |
|
|
inlinestatic |
Construct the edge constraint iterator starting at a new group.
◆ cEdgeConstraintBatch
constexpr uint SoftBodyUpdateContext::cEdgeConstraintBatch = 256 |
|
staticconstexpr |
Number of edge constraints to process in a batch in ApplyEdgeConstraints.
◆ cVertexCollisionBatch
constexpr uint SoftBodyUpdateContext::cVertexCollisionBatch = 64 |
|
staticconstexpr |
Number of vertices to process in a batch in DetermineCollisionPlanes.
◆ mBody
Body* SoftBodyUpdateContext::mBody |
Body that is being updated.
◆ mCanSleep
Can the body sleep? Should be applied after the update.
◆ mCenterOfMassTransform
RMat44 SoftBodyUpdateContext::mCenterOfMassTransform |
Transform of the body relative to the soft body.
◆ mDeltaPosition
Vec3 SoftBodyUpdateContext::mDeltaPosition |
Delta position of the body in the current time step, should be applied after the update.
◆ mDeltaTime
float SoftBodyUpdateContext::mDeltaTime |
Delta time for the current time step.
◆ mDisplacementDueToGravity
Vec3 SoftBodyUpdateContext::mDisplacementDueToGravity |
Displacement of the center of mass due to gravity in the current time step.
◆ mGravity
Vec3 SoftBodyUpdateContext::mGravity |
Gravity vector in local space of the soft body.
◆ mMotionProperties
Motion properties of that body.
◆ mNextCollisionVertex
atomic<uint> SoftBodyUpdateContext::mNextCollisionVertex { 0 } |
Next vertex to process for DetermineCollisionPlanes.
◆ mNextEdgeConstraint
atomic<uint64> SoftBodyUpdateContext::mNextEdgeConstraint { 0 } |
Next edge constraint group and start index to process.
◆ mNextIteration
atomic<uint> SoftBodyUpdateContext::mNextIteration { 0 } |
Next simulation iteration to process.
◆ mNumCollisionVerticesProcessed
atomic<uint> SoftBodyUpdateContext::mNumCollisionVerticesProcessed { 0 } |
Number of vertices processed by DetermineCollisionPlanes, used to determine if we can start simulating.
◆ mNumEdgeConstraintsProcessed
atomic<uint> SoftBodyUpdateContext::mNumEdgeConstraintsProcessed { 0 } |
Number of edge constraints processed by ApplyEdgeConstraints, used to determine if we can go to the next group / iteration.
◆ mState
Current state of the update.
◆ mSubStepDeltaTime
float SoftBodyUpdateContext::mSubStepDeltaTime |
Delta time for each sub step.
The documentation for this class was generated from the following file: