Class PenetrationLimit
- Namespace
- BepuPhysics.Constraints.Contact
- Assembly
- BepuPhysics.dll
public static class PenetrationLimit
- Inheritance
-
PenetrationLimit
- Inherited Members
-
Methods
ApplyImpulse(in BodyInertiaWide, in BodyInertiaWide, in Vector3Wide, in Vector3Wide, in Vector3Wide, in Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide)
public static void ApplyImpulse(in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector3Wide normal, in Vector3Wide angularA, in Vector3Wide angularB, in Vector<float> correctiveImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
inertiaA
BodyInertiaWide
inertiaB
BodyInertiaWide
normal
Vector3Wide
angularA
Vector3Wide
angularB
Vector3Wide
correctiveImpulse
Vector<float>
wsvA
BodyVelocityWide
wsvB
BodyVelocityWide
ComputeCorrectiveImpulse(in BodyVelocityWide, in BodyVelocityWide, in Vector3Wide, in Vector3Wide, in Vector3Wide, in Vector<float>, in Vector<float>, in Vector<float>, ref Vector<float>, out Vector<float>)
public static void ComputeCorrectiveImpulse(in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, in Vector3Wide normal, in Vector3Wide angularA, in Vector3Wide angularB, in Vector<float> biasVelocity, in Vector<float> softnessImpulseScale, in Vector<float> effectiveMass, ref Vector<float> accumulatedImpulse, out Vector<float> correctiveCSI)
Parameters
wsvA
BodyVelocityWide
wsvB
BodyVelocityWide
normal
Vector3Wide
angularA
Vector3Wide
angularB
Vector3Wide
biasVelocity
Vector<float>
softnessImpulseScale
Vector<float>
effectiveMass
Vector<float>
accumulatedImpulse
Vector<float>
correctiveCSI
Vector<float>
Solve(in BodyInertiaWide, in BodyInertiaWide, in Vector3Wide, in Vector3Wide, in Vector3Wide, in Vector<float>, in Vector<float>, in Vector<float>, in Vector<float>, in Vector<float>, in Vector<float>, ref Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide)
public static void Solve(in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector3Wide normal, in Vector3Wide contactOffsetA, in Vector3Wide contactOffsetB, in Vector<float> depth, in Vector<float> positionErrorToVelocity, in Vector<float> effectiveMassCFMScale, in Vector<float> maximumRecoveryVelocity, in Vector<float> inverseDt, in Vector<float> softnessImpulseScale, ref Vector<float> accumulatedImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
inertiaA
BodyInertiaWide
inertiaB
BodyInertiaWide
normal
Vector3Wide
contactOffsetA
Vector3Wide
contactOffsetB
Vector3Wide
depth
Vector<float>
positionErrorToVelocity
Vector<float>
effectiveMassCFMScale
Vector<float>
maximumRecoveryVelocity
Vector<float>
inverseDt
Vector<float>
softnessImpulseScale
Vector<float>
accumulatedImpulse
Vector<float>
wsvA
BodyVelocityWide
wsvB
BodyVelocityWide
UpdatePenetrationDepth(in Vector<float>, in Vector3Wide, in Vector3Wide, in Vector3Wide, in BodyVelocityWide, in BodyVelocityWide, ref Vector<float>)
public static void UpdatePenetrationDepth(in Vector<float> dt, in Vector3Wide contactOffsetA, in Vector3Wide offsetB, in Vector3Wide normal, in BodyVelocityWide velocityA, in BodyVelocityWide velocityB, ref Vector<float> penetrationDepth)
Parameters
dt
Vector<float>
contactOffsetA
Vector3Wide
offsetB
Vector3Wide
normal
Vector3Wide
velocityA
BodyVelocityWide
velocityB
BodyVelocityWide
penetrationDepth
Vector<float>
WarmStart(in BodyInertiaWide, in BodyInertiaWide, in Vector3Wide, in Vector3Wide, in Vector3Wide, in Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide)
public static void WarmStart(in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector3Wide normal, in Vector3Wide contactOffsetA, in Vector3Wide contactOffsetB, in Vector<float> accumulatedImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
inertiaA
BodyInertiaWide
inertiaB
BodyInertiaWide
normal
Vector3Wide
contactOffsetA
Vector3Wide
contactOffsetB
Vector3Wide
accumulatedImpulse
Vector<float>
wsvA
BodyVelocityWide
wsvB
BodyVelocityWide