Interface IThreeBodyConstraintFunctions<TPrestepData, TAccumulatedImpulse>
- Namespace
 - BepuPhysics.Constraints
 
- Assembly
 - BepuPhysics.dll
 
Prestep, warm start and solve iteration functions for a three body constraint type.
public interface IThreeBodyConstraintFunctions<TPrestepData, TAccumulatedImpulse>
  Type Parameters
TPrestepDataType of the prestep data used by the constraint.
TAccumulatedImpulseType of the accumulated impulses used by the constraint.
Properties
RequiresIncrementalSubstepUpdates
Gets whether this constraint type requires incremental updates for each substep taken beyond the first.
public static abstract bool RequiresIncrementalSubstepUpdates { get; }
  Property Value
Methods
IncrementallyUpdateForSubstep(in Vector<float>, in BodyVelocityWide, in BodyVelocityWide, in BodyVelocityWide, ref TPrestepData)
public static abstract void IncrementallyUpdateForSubstep(in Vector<float> dt, in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, in BodyVelocityWide wsvC, ref TPrestepData prestepData)
  Parameters
dtVector<float>wsvABodyVelocityWidewsvBBodyVelocityWidewsvCBodyVelocityWideprestepDataTPrestepData
Solve(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, float, float, ref TPrestepData, ref TAccumulatedImpulse, ref BodyVelocityWide, ref BodyVelocityWide, ref BodyVelocityWide)
public static abstract void Solve(in Vector3Wide positionA, in QuaternionWide orientationA, in BodyInertiaWide inertiaA, in Vector3Wide positionB, in QuaternionWide orientationB, in BodyInertiaWide inertiaB, in Vector3Wide positionC, in QuaternionWide orientationC, in BodyInertiaWide inertiaC, float dt, float inverseDt, ref TPrestepData prestep, ref TAccumulatedImpulse accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB, ref BodyVelocityWide wsvC)
  Parameters
positionAVector3WideorientationAQuaternionWideinertiaABodyInertiaWidepositionBVector3WideorientationBQuaternionWideinertiaBBodyInertiaWidepositionCVector3WideorientationCQuaternionWideinertiaCBodyInertiaWidedtfloatinverseDtfloatprestepTPrestepDataaccumulatedImpulsesTAccumulatedImpulsewsvABodyVelocityWidewsvBBodyVelocityWidewsvCBodyVelocityWide
WarmStart(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, ref TPrestepData, ref TAccumulatedImpulse, ref BodyVelocityWide, ref BodyVelocityWide, ref BodyVelocityWide)
public static abstract void WarmStart(in Vector3Wide positionA, in QuaternionWide orientationA, in BodyInertiaWide inertiaA, in Vector3Wide positionB, in QuaternionWide orientationB, in BodyInertiaWide inertiaB, in Vector3Wide positionC, in QuaternionWide orientationC, in BodyInertiaWide inertiaC, ref TPrestepData prestep, ref TAccumulatedImpulse accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB, ref BodyVelocityWide wsvC)
  Parameters
positionAVector3WideorientationAQuaternionWideinertiaABodyInertiaWidepositionBVector3WideorientationBQuaternionWideinertiaBBodyInertiaWidepositionCVector3WideorientationCQuaternionWideinertiaCBodyInertiaWideprestepTPrestepDataaccumulatedImpulsesTAccumulatedImpulsewsvABodyVelocityWidewsvBBodyVelocityWidewsvCBodyVelocityWide