Table of Contents

Class TangentFriction

Namespace
BepuPhysics.Constraints.Contact
Assembly
BepuPhysics.dll

Handles the tangent friction implementation.

public static class TangentFriction
Inheritance
TangentFriction
Inherited Members

Methods

ApplyImpulse(in Jacobians, in BodyInertiaWide, in BodyInertiaWide, in Vector2Wide, 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 TangentFriction.Jacobians jacobians, in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector2Wide correctiveImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)

Parameters

jacobians TangentFriction.Jacobians
inertiaA BodyInertiaWide
inertiaB BodyInertiaWide
correctiveImpulse Vector2Wide
wsvA BodyVelocityWide
wsvB BodyVelocityWide

ComputeCorrectiveImpulse(in BodyVelocityWide, in BodyVelocityWide, in Symmetric2x2Wide, in Jacobians, in Vector<float>, ref Vector2Wide, out Vector2Wide)

public static void ComputeCorrectiveImpulse(in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, in Symmetric2x2Wide effectiveMass, in TangentFriction.Jacobians jacobians, in Vector<float> maximumImpulse, ref Vector2Wide accumulatedImpulse, out Vector2Wide correctiveCSI)

Parameters

wsvA BodyVelocityWide
wsvB BodyVelocityWide
effectiveMass Symmetric2x2Wide
jacobians TangentFriction.Jacobians
maximumImpulse Vector<float>
accumulatedImpulse Vector2Wide
correctiveCSI Vector2Wide

ComputeJacobians(in Vector3Wide, in Vector3Wide, in Vector3Wide, in Vector3Wide, out Jacobians)

public static void ComputeJacobians(in Vector3Wide tangentX, in Vector3Wide tangentY, in Vector3Wide offsetA, in Vector3Wide offsetB, out TangentFriction.Jacobians jacobians)

Parameters

tangentX Vector3Wide
tangentY Vector3Wide
offsetA Vector3Wide
offsetB Vector3Wide
jacobians TangentFriction.Jacobians

Solve(in Vector3Wide, in Vector3Wide, in Vector3Wide, in Vector3Wide, in BodyInertiaWide, in BodyInertiaWide, in Vector<float>, ref Vector2Wide, ref BodyVelocityWide, ref BodyVelocityWide)

public static void Solve(in Vector3Wide tangentX, in Vector3Wide tangentY, in Vector3Wide offsetToManifoldCenterA, in Vector3Wide offsetToManifoldCenterB, in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector<float> maximumImpulse, ref Vector2Wide accumulatedImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)

Parameters

tangentX Vector3Wide
tangentY Vector3Wide
offsetToManifoldCenterA Vector3Wide
offsetToManifoldCenterB Vector3Wide
inertiaA BodyInertiaWide
inertiaB BodyInertiaWide
maximumImpulse Vector<float>
accumulatedImpulse Vector2Wide
wsvA BodyVelocityWide
wsvB BodyVelocityWide

WarmStart(in Vector3Wide, in Vector3Wide, in Vector3Wide, in Vector3Wide, in BodyInertiaWide, in BodyInertiaWide, in Vector2Wide, ref BodyVelocityWide, ref BodyVelocityWide)

public static void WarmStart(in Vector3Wide tangentX, in Vector3Wide tangentY, in Vector3Wide offsetToManifoldCenterA, in Vector3Wide offsetToManifoldCenterB, in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector2Wide accumulatedImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)

Parameters

tangentX Vector3Wide
tangentY Vector3Wide
offsetToManifoldCenterA Vector3Wide
offsetToManifoldCenterB Vector3Wide
inertiaA BodyInertiaWide
inertiaB BodyInertiaWide
accumulatedImpulse Vector2Wide
wsvA BodyVelocityWide
wsvB BodyVelocityWide