Struct VolumeConstraintFunctions
- Namespace
- BepuPhysics.Constraints
- Assembly
- BepuPhysics.dll
public struct VolumeConstraintFunctions : IFourBodyConstraintFunctions<VolumeConstraintPrestepData, 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
IncrementallyUpdateForSubstep(in Vector<float>, in BodyVelocityWide, in BodyVelocityWide, in BodyVelocityWide, in BodyVelocityWide, ref VolumeConstraintPrestepData)
public static void IncrementallyUpdateForSubstep(in Vector<float> dt, in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, in BodyVelocityWide wsvC, in BodyVelocityWide wsvD, ref VolumeConstraintPrestepData prestepData)
Parameters
dt
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWidewsvC
BodyVelocityWidewsvD
BodyVelocityWideprestepData
VolumeConstraintPrestepData
Solve(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, float, float, ref VolumeConstraintPrestepData, ref Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide, 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, in Vector3Wide positionC, in QuaternionWide orientationC, in BodyInertiaWide inertiaC, in Vector3Wide positionD, in QuaternionWide orientationD, in BodyInertiaWide inertiaD, float dt, float inverseDt, ref VolumeConstraintPrestepData prestep, ref Vector<float> accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB, ref BodyVelocityWide wsvC, ref BodyVelocityWide wsvD)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWidepositionC
Vector3WideorientationC
QuaternionWideinertiaC
BodyInertiaWidepositionD
Vector3WideorientationD
QuaternionWideinertiaD
BodyInertiaWidedt
floatinverseDt
floatprestep
VolumeConstraintPrestepDataaccumulatedImpulses
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWidewsvC
BodyVelocityWidewsvD
BodyVelocityWide
WarmStart(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, ref VolumeConstraintPrestepData, ref Vector<float>, ref BodyVelocityWide, ref BodyVelocityWide, 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, in Vector3Wide positionC, in QuaternionWide orientationC, in BodyInertiaWide inertiaC, in Vector3Wide positionD, in QuaternionWide orientationD, in BodyInertiaWide inertiaD, ref VolumeConstraintPrestepData prestep, ref Vector<float> accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB, ref BodyVelocityWide wsvC, ref BodyVelocityWide wsvD)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWidepositionC
Vector3WideorientationC
QuaternionWideinertiaC
BodyInertiaWidepositionD
Vector3WideorientationD
QuaternionWideinertiaD
BodyInertiaWideprestep
VolumeConstraintPrestepDataaccumulatedImpulses
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWidewsvC
BodyVelocityWidewsvD
BodyVelocityWide