Struct PointOnLineServoFunctions
- Namespace
- BepuPhysics.Constraints
- Assembly
- BepuPhysics.dll
public struct PointOnLineServoFunctions : ITwoBodyConstraintFunctions<PointOnLineServoPrestepData, 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
ApplyImpulse(ref BodyVelocityWide, ref BodyVelocityWide, in Matrix2x3Wide, in Matrix2x3Wide, in Matrix2x3Wide, in BodyInertiaWide, in BodyInertiaWide, ref Vector2Wide)
public static void ApplyImpulse(ref BodyVelocityWide velocityA, ref BodyVelocityWide velocityB, in Matrix2x3Wide linearJacobian, in Matrix2x3Wide angularJacobianA, in Matrix2x3Wide angularJacobianB, in BodyInertiaWide inertiaA, in BodyInertiaWide inertiaB, ref Vector2Wide csi)
Parameters
velocityA
BodyVelocityWidevelocityB
BodyVelocityWidelinearJacobian
Matrix2x3WideangularJacobianA
Matrix2x3WideangularJacobianB
Matrix2x3WideinertiaA
BodyInertiaWideinertiaB
BodyInertiaWidecsi
Vector2Wide
ComputeJacobians(in Vector3Wide, in QuaternionWide, in QuaternionWide, in Vector3Wide, in Vector3Wide, in Vector3Wide, out Vector3Wide, out Matrix2x3Wide, out Matrix2x3Wide, out Matrix2x3Wide)
public static void ComputeJacobians(in Vector3Wide ab, in QuaternionWide orientationA, in QuaternionWide orientationB, in Vector3Wide localDirection, in Vector3Wide localOffsetA, in Vector3Wide localOffsetB, out Vector3Wide anchorOffset, out Matrix2x3Wide linearJacobian, out Matrix2x3Wide angularJA, out Matrix2x3Wide angularJB)
Parameters
ab
Vector3WideorientationA
QuaternionWideorientationB
QuaternionWidelocalDirection
Vector3WidelocalOffsetA
Vector3WidelocalOffsetB
Vector3WideanchorOffset
Vector3WidelinearJacobian
Matrix2x3WideangularJA
Matrix2x3WideangularJB
Matrix2x3Wide
IncrementallyUpdateForSubstep(in Vector<float>, in BodyVelocityWide, in BodyVelocityWide, ref PointOnLineServoPrestepData)
public static void IncrementallyUpdateForSubstep(in Vector<float> dt, in BodyVelocityWide wsvA, in BodyVelocityWide wsvB, ref PointOnLineServoPrestepData prestepData)
Parameters
dt
Vector<float>wsvA
BodyVelocityWidewsvB
BodyVelocityWideprestepData
PointOnLineServoPrestepData
Solve(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, float, float, ref PointOnLineServoPrestepData, 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 PointOnLineServoPrestepData prestep, ref Vector2Wide accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWidedt
floatinverseDt
floatprestep
PointOnLineServoPrestepDataaccumulatedImpulses
Vector2WidewsvA
BodyVelocityWidewsvB
BodyVelocityWide
WarmStart(in Vector3Wide, in QuaternionWide, in BodyInertiaWide, in Vector3Wide, in QuaternionWide, in BodyInertiaWide, ref PointOnLineServoPrestepData, 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 PointOnLineServoPrestepData prestep, ref Vector2Wide accumulatedImpulses, ref BodyVelocityWide wsvA, ref BodyVelocityWide wsvB)
Parameters
positionA
Vector3WideorientationA
QuaternionWideinertiaA
BodyInertiaWidepositionB
Vector3WideorientationB
QuaternionWideinertiaB
BodyInertiaWideprestep
PointOnLineServoPrestepDataaccumulatedImpulses
Vector2WidewsvA
BodyVelocityWidewsvB
BodyVelocityWide