Table of Contents

Struct ContactNonconvexTwoBodyFunctions<TPrestep, TAccumulatedImpulses>

Namespace
BepuPhysics.Constraints.Contact
Assembly
BepuPhysics.dll
public struct ContactNonconvexTwoBodyFunctions<TPrestep, TAccumulatedImpulses> : ITwoBodyConstraintFunctions<TPrestep, TAccumulatedImpulses> where TPrestep : struct, ITwoBodyNonconvexContactPrestep<TPrestep> where TAccumulatedImpulses : struct

Type Parameters

TPrestep
TAccumulatedImpulses
Implements
ITwoBodyConstraintFunctions<TPrestep, TAccumulatedImpulses>
Inherited Members

Properties

RequiresIncrementalSubstepUpdates

Gets whether this constraint type requires incremental updates for each substep taken beyond the first.

public static bool RequiresIncrementalSubstepUpdates { get; }

Property Value

bool

Methods

IncrementallyUpdateForSubstep(in Vector<float>, in BodyVelocityWide, in BodyVelocityWide, ref TPrestep)

public static void IncrementallyUpdateForSubstep(in Vector<float> dt, in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, ref TPrestep prestep)

Parameters

dt Vector<float>
wsvA BodyVelocityWide
wsvB BodyVelocityWide
prestep TPrestep

Solve(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, float, float, ref TPrestep, ref TAccumulatedImpulses, ref BodyVelocityWide, ref BodyVelocityWide)

public static void Solve(in Vector3Wide positionA, in QuaternionWide orientationA, in BodyInertiaWide inertiaA, in Vector3Wide positionB, in QuaternionWide orientationB, in BodyInertiaWide inertiaB, float dt, float inverseDt, ref TPrestep prestep, ref TAccumulatedImpulses accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)

Parameters

positionA Vector3Wide
orientationA QuaternionWide
inertiaA BodyInertiaWide
positionB Vector3Wide
orientationB QuaternionWide
inertiaB BodyInertiaWide
dt float
inverseDt float
prestep TPrestep
accumulatedImpulses TAccumulatedImpulses
wsvA BodyVelocityWide
wsvB BodyVelocityWide

WarmStart(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, ref TPrestep, ref TAccumulatedImpulses, ref BodyVelocityWide, ref BodyVelocityWide)

public static void WarmStart(in Vector3Wide positionA, in QuaternionWide orientationA, in BodyInertiaWide inertiaA, in Vector3Wide positionB, in QuaternionWide orientationB, in BodyInertiaWide inertiaB, ref TPrestep prestep, ref TAccumulatedImpulses accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)

Parameters

positionA Vector3Wide
orientationA QuaternionWide
inertiaA BodyInertiaWide
positionB Vector3Wide
orientationB QuaternionWide
inertiaB BodyInertiaWide
prestep TPrestep
accumulatedImpulses TAccumulatedImpulses
wsvA BodyVelocityWide
wsvB BodyVelocityWide