Table of Contents

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

bool

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 Vector3Wide
hingeAxisB Vector3Wide
jacobianA Matrix2x3Wide
errorAngles 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 BodyVelocityWide
wsvB BodyVelocityWide
prestepData 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 Vector3Wide
orientationA QuaternionWide
inertiaA BodyInertiaWide
positionB Vector3Wide
orientationB QuaternionWide
inertiaB BodyInertiaWide
dt float
inverseDt float
prestep AngularHingePrestepData
accumulatedImpulses Vector2Wide
wsvA BodyVelocityWide
wsvB 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 Vector3Wide
orientationA QuaternionWide
inertiaA BodyInertiaWide
positionB Vector3Wide
orientationB QuaternionWide
inertiaB BodyInertiaWide
prestep AngularHingePrestepData
accumulatedImpulses Vector2Wide
wsvA BodyVelocityWide
wsvB BodyVelocityWide