Struct CenterDistanceConstraintFunctions
- Namespace
- BepuPhysics.Constraints
- Assembly
- BepuPhysics.dll
public struct CenterDistanceConstraintFunctions : ITwoBodyConstraintFunctions<CenterDistancePrestepData, Vector<float>>
- Implements
- 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
ApplyImpulse(in Vector3Wide, in Vector<float>, in Vector<float>, in Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide)
public static void ApplyImpulse(in Vector3Wide jacobianA, in Vector<float> inverseMassA, in Vector<float> inverseMassB, in Vector<float> impulse, ref BodyVelocityWide a, ref BodyVelocityWide b)
Parameters
jacobianA
Vector3WideinverseMassA
Vector<float>inverseMassB
Vector<float>impulse
Vector<float>a
BodyVelocityWideb
BodyVelocityWide
IncrementallyUpdateForSubstep(in Vector<float>, in BodyVelocityWide, in BodyVelocityWide, ref CenterDistancePrestepData)
public static void IncrementallyUpdateForSubstep(in Vector<float> dt, in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, ref CenterDistancePrestepData prestepData)
Parameters
dt
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWideprestepData
CenterDistancePrestepData
Solve(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, float, float, ref CenterDistancePrestepData, ref Vector<float>, 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 CenterDistancePrestepData prestep, ref Vector<float> accumulatedImpulse, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWidedt
floatinverseDt
floatprestep
CenterDistancePrestepDataaccumulatedImpulse
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWide
WarmStart(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, ref CenterDistancePrestepData, ref Vector<float>, 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 CenterDistancePrestepData prestep, ref Vector<float> accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWideprestep
CenterDistancePrestepDataaccumulatedImpulses
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWide