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