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
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
BodyVelocityWideprestep
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
BodyVelocityWideprestep
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
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidedt
floatinverseDt
floatprestep
TPrestepaccumulatedImpulses
TAccumulatedImpulseswsvA
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
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidewsvA
BodyVelocityWidedt
Vector<float>accumulatedImpulses
TAccumulatedImpulsesprestep
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
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWideprestep
TPrestepaccumulatedImpulses
TAccumulatedImpulseswsvA
BodyVelocityWide