Struct DistanceLimitFunctions
- Namespace
 - BepuPhysics.Constraints
 
- Assembly
 - BepuPhysics.dll
 
public struct DistanceLimitFunctions : ITwoBodyConstraintFunctions<DistanceLimitPrestepData, 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 Vector3Wide, in Vector3Wide, in BodyInertiaWide, in BodyInertiaWide, in Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide)
public static void ApplyImpulse(in Vector3Wide linearJacobianA, in Vector3Wide angularJacobianA, in Vector3Wide angularJacobianB, in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, in Vector<float> csi, ref BodyVelocityWide velocityA, ref BodyVelocityWide velocityB)
  Parameters
linearJacobianAVector3WideangularJacobianAVector3WideangularJacobianBVector3WideinertiaABodyInertiaWideinertiaBBodyInertiaWidecsiVector<float>velocityABodyVelocityWidevelocityBBodyVelocityWide
ComputeJacobians(in Vector3Wide, in Vector3Wide, in QuaternionWide, in Vector3Wide, in Vector3Wide, in QuaternionWide, in Vector<float>, in Vector<float>, out Vector<int>, out Vector<float>, out Vector3Wide, out Vector3Wide, out Vector3Wide)
public static void ComputeJacobians(in Vector3Wide localOffsetA, in Vector3Wide positionA, in QuaternionWide orientationA, in Vector3Wide localOffsetB, in Vector3Wide positionB, in QuaternionWide orientationB, in Vector<float> minimumDistance, in Vector<float> maximumDistance, out Vector<int> useMinimum, out Vector<float> distance, out Vector3Wide direction, out Vector3Wide angularJA, out Vector3Wide angularJB)
  Parameters
localOffsetAVector3WidepositionAVector3WideorientationAQuaternionWidelocalOffsetBVector3WidepositionBVector3WideorientationBQuaternionWideminimumDistanceVector<float>maximumDistanceVector<float>useMinimumVector<int>distanceVector<float>directionVector3WideangularJAVector3WideangularJBVector3Wide
IncrementallyUpdateForSubstep(in Vector<float>, in BodyVelocityWide, in BodyVelocityWide, ref DistanceLimitPrestepData)
public static void IncrementallyUpdateForSubstep(in Vector<float> dt, in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, ref DistanceLimitPrestepData prestepData)
  Parameters
dtVector<float>wsvABodyVelocityWidewsvBBodyVelocityWideprestepDataDistanceLimitPrestepData
Solve(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, float, float, ref DistanceLimitPrestepData, 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 DistanceLimitPrestepData prestep, ref Vector<float> accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
  Parameters
positionAVector3WideorientationAQuaternionWideinertiaABodyInertiaWidepositionBVector3WideorientationBQuaternionWideinertiaBBodyInertiaWidedtfloatinverseDtfloatprestepDistanceLimitPrestepDataaccumulatedImpulsesVector<float>wsvABodyVelocityWidewsvBBodyVelocityWide
WarmStart(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, ref DistanceLimitPrestepData, 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 DistanceLimitPrestepData prestep, ref Vector<float> accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
  Parameters
positionAVector3WideorientationAQuaternionWideinertiaABodyInertiaWidepositionBVector3WideorientationBQuaternionWideinertiaBBodyInertiaWideprestepDistanceLimitPrestepDataaccumulatedImpulsesVector<float>wsvABodyVelocityWidewsvBBodyVelocityWide