Struct TwistMotorFunctions
- Namespace
- BepuPhysics.Constraints
- Assembly
- BepuPhysics.dll
public struct TwistMotorFunctions : ITwoBodyConstraintFunctions<TwistMotorPrestepData, 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
ComputeJacobian(in QuaternionWide, in QuaternionWide, in Vector3Wide, in Vector3Wide, out Vector3Wide)
public static void ComputeJacobian(in QuaternionWide orientationA, in QuaternionWide orientationB, in Vector3Wide localAxisA, in Vector3Wide localAxisB, out Vector3Wide jacobianA)
Parameters
orientationA
QuaternionWideorientationB
QuaternionWidelocalAxisA
Vector3WidelocalAxisB
Vector3WidejacobianA
Vector3Wide
IncrementallyUpdateForSubstep(in Vector<float>, in BodyVelocityWide, in BodyVelocityWide, ref TwistMotorPrestepData)
public static void IncrementallyUpdateForSubstep(in Vector<float> dt, in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, ref TwistMotorPrestepData prestepData)
Parameters
dt
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWideprestepData
TwistMotorPrestepData
Solve(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, float, float, ref TwistMotorPrestepData, 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 TwistMotorPrestepData prestep, ref Vector<float> accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWidedt
floatinverseDt
floatprestep
TwistMotorPrestepDataaccumulatedImpulses
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWide
WarmStart(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, ref TwistMotorPrestepData, 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 TwistMotorPrestepData prestep, ref Vector<float> accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWideprestep
TwistMotorPrestepDataaccumulatedImpulses
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWide