Struct AngularHingeFunctions
- Namespace
- BepuPhysics.Constraints
- Assembly
- BepuPhysics.dll
public struct AngularHingeFunctions : ITwoBodyConstraintFunctions<AngularHingePrestepData, Vector2Wide>
- 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
GetErrorAngles(in Vector3Wide, in Vector3Wide, in Matrix2x3Wide, out Vector2Wide)
public static void GetErrorAngles(in Vector3Wide hingeAxisA, in Vector3Wide hingeAxisB, in Matrix2x3Wide jacobianA, out Vector2Wide errorAngles)
Parameters
hingeAxisA
Vector3WidehingeAxisB
Vector3WidejacobianA
Matrix2x3WideerrorAngles
Vector2Wide
IncrementallyUpdateForSubstep(in Vector<float>, in BodyVelocityWide, in BodyVelocityWide, ref AngularHingePrestepData)
public static void IncrementallyUpdateForSubstep(in Vector<float> dt, in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, ref AngularHingePrestepData prestepData)
Parameters
dt
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWideprestepData
AngularHingePrestepData
Solve(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, float, float, ref AngularHingePrestepData, ref Vector2Wide, 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 AngularHingePrestepData prestep, ref Vector2Wide accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWidedt
floatinverseDt
floatprestep
AngularHingePrestepDataaccumulatedImpulses
Vector2WidewsvA
BodyVelocityWidewsvB
BodyVelocityWide
WarmStart(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, ref AngularHingePrestepData, ref Vector2Wide, 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 AngularHingePrestepData prestep, ref Vector2Wide accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWideprestep
AngularHingePrestepDataaccumulatedImpulses
Vector2WidewsvA
BodyVelocityWidewsvB
BodyVelocityWide