unsigned int uint
Definition Core.h:481
#define JPH_NAMESPACE_END
Definition Core.h:414
#define JPH_NAMESPACE_BEGIN
Definition Core.h:408
ECanSleep
Enum that determines if an object can go to sleep.
Definition MotionProperties.h:22
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition Mat44.h:13
Class that makes another class non-copyable. Usage: Inherit from NonCopyable.
Definition NonCopyable.h:11
Filter class used during the simulation (PhysicsSystem::Update) to filter out collisions at shape lev...
Definition SimShapeFilter.h:17
Definition SoftBodyContactListener.h:33
This class contains the runtime information of a soft body.
Definition SoftBodyMotionProperties.h:35
Temporary data used by the update of a soft body.
Definition SoftBodyUpdateContext.h:19
atomic< uint > mNextCollisionVertex
Next vertex to process for DetermineCollisionPlanes.
Definition SoftBodyUpdateContext.h:46
float mSubStepDeltaTime
Delta time for each sub step.
Definition SoftBodyUpdateContext.h:33
atomic< EState > mState
Current state of the update.
Definition SoftBodyUpdateContext.h:45
SoftBodyContactListener * mContactListener
Contact listener to fire callbacks to.
Definition SoftBodyUpdateContext.h:27
atomic< uint > mNumConstraintGroupsProcessed
Number of groups processed, used to determine if we can go to the next iteration.
Definition SoftBodyUpdateContext.h:52
const SimShapeFilter * mSimShapeFilter
Shape filter to use for collision detection.
Definition SoftBodyUpdateContext.h:28
atomic< uint > mNumSensorsProcessed
Number of sensors processed by DetermineSensorCollisions, used to determine if we can go to the next ...
Definition SoftBodyUpdateContext.h:49
atomic< uint > mNumCollisionVerticesProcessed
Number of vertices processed by DetermineCollisionPlanes, used to determine if we can go to the next ...
Definition SoftBodyUpdateContext.h:47
atomic< uint > mNextIteration
Next simulation iteration to process.
Definition SoftBodyUpdateContext.h:50
atomic< uint > mNextConstraintGroup
Next constraint group to process.
Definition SoftBodyUpdateContext.h:51
Vec3 mDeltaPosition
Delta position of the body in the current time step, should be applied after the update.
Definition SoftBodyUpdateContext.h:55
float mDeltaTime
Delta time for the current time step.
Definition SoftBodyUpdateContext.h:32
RMat44 mCenterOfMassTransform
Transform of the body relative to the soft body.
Definition SoftBodyUpdateContext.h:29
Body * mBody
Body that is being updated.
Definition SoftBodyUpdateContext.h:25
SoftBodyMotionProperties * mMotionProperties
Motion properties of that body.
Definition SoftBodyUpdateContext.h:26
atomic< uint > mNextSensorIndex
Next sensor to process for DetermineCollisionPlanes.
Definition SoftBodyUpdateContext.h:48
Vec3 mGravity
Gravity vector in local space of the soft body.
Definition SoftBodyUpdateContext.h:30
Vec3 mDisplacementDueToGravity
Displacement of the center of mass due to gravity in the current time step.
Definition SoftBodyUpdateContext.h:31
static constexpr uint cVertexConstraintBatch
Number of vertices to group for processing batches of constraints in ApplyEdgeConstraints.
Definition SoftBodyUpdateContext.h:22
EState
Describes progress in the current update.
Definition SoftBodyUpdateContext.h:37
@ DetermineCollisionPlanes
Determine collision planes for vertices in parallel.
@ DetermineSensorCollisions
Determine collisions with sensors in parallel.
@ ApplyConstraints
Apply constraints in parallel.
@ Done
Update is finished.
static constexpr uint cVertexCollisionBatch
Number of vertices to process in a batch in DetermineCollisionPlanes.
Definition SoftBodyUpdateContext.h:21
ECanSleep mCanSleep
Can the body sleep? Should be applied after the update.
Definition SoftBodyUpdateContext.h:56