Table of Contents

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 Vector3Wide
inertiaA BodyInertiaWide
inertiaB BodyInertiaWide
correctiveImpulse Vector<float>
wsvA BodyVelocityWide
wsvB 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 Vector3Wide
effectiveMass Vector<float>
wsvA BodyVelocityWide
wsvB BodyVelocityWide
maximumImpulse 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 Vector3Wide
inertiaA BodyInertiaWide
inertiaB BodyInertiaWide
maximumImpulse Vector<float>
accumulatedImpulse Vector<float>
wsvA BodyVelocityWide
wsvB 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 Vector3Wide
inertiaA BodyInertiaWide
inertiaB BodyInertiaWide
accumulatedImpulse Vector<float>
wsvA BodyVelocityWide
wsvB BodyVelocityWide