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.JacobiansinertiaA
BodyInertiaWideinertiaB
BodyInertiaWidecorrectiveImpulse
Vector2WidewsvA
BodyVelocityWidewsvB
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
BodyVelocityWidewsvB
BodyVelocityWideeffectiveMass
Symmetric2x2Widejacobians
TangentFriction.JacobiansmaximumImpulse
Vector<float>accumulatedImpulse
Vector2WidecorrectiveCSI
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
Vector3WidetangentY
Vector3WideoffsetA
Vector3WideoffsetB
Vector3Widejacobians
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
Vector3WidetangentY
Vector3WideoffsetToManifoldCenterA
Vector3WideoffsetToManifoldCenterB
Vector3WideinertiaA
BodyInertiaWideinertiaB
BodyInertiaWidemaximumImpulse
Vector<float>accumulatedImpulse
Vector2WidewsvA
BodyVelocityWidewsvB
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
Vector3WidetangentY
Vector3WideoffsetToManifoldCenterA
Vector3WideoffsetToManifoldCenterB
Vector3WideinertiaA
BodyInertiaWideinertiaB
BodyInertiaWideaccumulatedImpulse
Vector2WidewsvA
BodyVelocityWidewsvB
BodyVelocityWide