Table of Contents

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