Table of Contents

Struct ContactNonconvexOneBodyFunctions<TPrestep, TAccumulatedImpulses>

Namespace
BepuPhysics.Constraints.Contact
Assembly
BepuPhysics.dll
public struct ContactNonconvexOneBodyFunctions<TPrestep, TAccumulatedImpulses> : IOneBodyConstraintFunctions<TPrestep, TAccumulatedImpulses> where TPrestep : struct, INonconvexContactPrestep<TPrestep> where TAccumulatedImpulses : struct

Type Parameters

TPrestep
TAccumulatedImpulses
Implements
IOneBodyConstraintFunctions<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

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

public void IncrementallyUpdateContactData(in Vector<float> dt, in BodyVelocityWide velocity, ref TPrestep prestep)

Parameters

dt Vector<float>
velocity BodyVelocityWide
prestep TPrestep

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

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

Parameters

dt Vector<float>
wsvA BodyVelocityWide
prestep TPrestep

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

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

Parameters

positionA Vector3Wide
orientationA QuaternionWide
inertiaA BodyInertiaWide
dt float
inverseDt float
prestep TPrestep
accumulatedImpulses TAccumulatedImpulses
wsvA BodyVelocityWide

UpdateForNewPose(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in BodyVelocityWide, in Vector<float>, in TAccumulatedImpulses, ref TPrestep)

public void UpdateForNewPose(in Vector3Wide positionA, in QuaternionWide orientationA, in BodyInertiaWide inertiaA, in BodyVelocityWide wsvA, in Vector<float> dt, in TAccumulatedImpulses accumulatedImpulses, ref TPrestep prestep)

Parameters

positionA Vector3Wide
orientationA QuaternionWide
inertiaA BodyInertiaWide
wsvA BodyVelocityWide
dt Vector<float>
accumulatedImpulses TAccumulatedImpulses
prestep TPrestep

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

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

Parameters

positionA Vector3Wide
orientationA QuaternionWide
inertiaA BodyInertiaWide
prestep TPrestep
accumulatedImpulses TAccumulatedImpulses
wsvA BodyVelocityWide