Table of Contents

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

bool

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 BodyVelocityWide
velocityB BodyVelocityWide
linearJacobian Matrix2x3Wide
angularJacobianA Matrix2x3Wide
angularJacobianB Matrix2x3Wide
inertiaA BodyInertiaWide
inertiaB BodyInertiaWide
csi 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 Vector3Wide
orientationA QuaternionWide
orientationB QuaternionWide
localDirection Vector3Wide
localOffsetA Vector3Wide
localOffsetB Vector3Wide
anchorOffset Vector3Wide
linearJacobian Matrix2x3Wide
angularJA Matrix2x3Wide
angularJB 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 BodyVelocityWide
wsvB BodyVelocityWide
prestepData 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 Vector3Wide
orientationA QuaternionWide
inertiaA BodyInertiaWide
positionB Vector3Wide
orientationB QuaternionWide
inertiaB BodyInertiaWide
dt float
inverseDt float
prestep PointOnLineServoPrestepData
accumulatedImpulses Vector2Wide
wsvA BodyVelocityWide
wsvB 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 Vector3Wide
orientationA QuaternionWide
inertiaA BodyInertiaWide
positionB Vector3Wide
orientationB QuaternionWide
inertiaB BodyInertiaWide
prestep PointOnLineServoPrestepData
accumulatedImpulses Vector2Wide
wsvA BodyVelocityWide
wsvB BodyVelocityWide