Class TwistFriction
- Namespace
- BepuPhysics.Constraints.Contact
- Assembly
- BepuPhysics.dll
Handles the tangent friction implementation.
public static class TwistFriction
- Inheritance
-
TwistFriction
- Inherited Members
Methods
ApplyImpulse(in Vector3Wide, in BodyInertiaWide, in BodyInertiaWide, in Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide)
Transforms an impulse from constraint space to world space, uses it to modify the cached world space velocities of the bodies.
public static void ApplyImpulse(in Vector3Wide angularJacobianA, in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector<float> correctiveImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
angularJacobianA
Vector3WideinertiaA
BodyInertiaWideinertiaB
BodyInertiaWidecorrectiveImpulse
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWide
ComputeCorrectiveImpulse(in Vector3Wide, in Vector<float>, in BodyVelocityWide, in BodyVelocityWide, in Vector<float>, ref Vector<float>, out Vector<float>)
public static void ComputeCorrectiveImpulse(in Vector3Wide angularJacobianA, in Vector<float> effectiveMass, in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, in Vector<float> maximumImpulse, ref Vector<float> accumulatedImpulse, out Vector<float> correctiveCSI)
Parameters
angularJacobianA
Vector3WideeffectiveMass
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWidemaximumImpulse
Vector<float>accumulatedImpulse
Vector<float>correctiveCSI
Vector<float>
Solve(in Vector3Wide, in BodyInertiaWide, in BodyInertiaWide, in Vector<float>, ref Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide)
public static void Solve(in Vector3Wide angularJacobianA, in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector<float> maximumImpulse, ref Vector<float> accumulatedImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
angularJacobianA
Vector3WideinertiaA
BodyInertiaWideinertiaB
BodyInertiaWidemaximumImpulse
Vector<float>accumulatedImpulse
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWide
WarmStart(in Vector3Wide, in BodyInertiaWide, in BodyInertiaWide, in Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide)
public static void WarmStart(in Vector3Wide angularJacobianA, in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector<float> accumulatedImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
angularJacobianA
Vector3WideinertiaA
BodyInertiaWideinertiaB
BodyInertiaWideaccumulatedImpulse
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWide