Table of Contents

Class OneBodyTypeProcessor<TPrestepData, TAccumulatedImpulse, TConstraintFunctions, TWarmStartAccessFilterA, TSolveAccessFilterA>

Namespace
BepuPhysics.Constraints
Assembly
BepuPhysics.dll

Shared implementation across all one body constraints.

public abstract class OneBodyTypeProcessor<TPrestepData, TAccumulatedImpulse, TConstraintFunctions, TWarmStartAccessFilterA, TSolveAccessFilterA> : TypeProcessor<Vector<int>, TPrestepData, TAccumulatedImpulse> where TPrestepData : unmanaged where TAccumulatedImpulse : unmanaged where TConstraintFunctions : unmanaged, IOneBodyConstraintFunctions<TPrestepData, TAccumulatedImpulse> where TWarmStartAccessFilterA : unmanaged, IBodyAccessFilter where TSolveAccessFilterA : unmanaged, IBodyAccessFilter

Type Parameters

TPrestepData
TAccumulatedImpulse
TConstraintFunctions
TWarmStartAccessFilterA
TSolveAccessFilterA
Inheritance
TypeProcessor<Vector<int>, TPrestepData, TAccumulatedImpulse>
OneBodyTypeProcessor<TPrestepData, TAccumulatedImpulse, TConstraintFunctions, TWarmStartAccessFilterA, TSolveAccessFilterA>
Derived
Inherited Members

Properties

InternalBodiesPerConstraint

protected override sealed int InternalBodiesPerConstraint { get; }

Property Value

int

RequiresIncrementalSubstepUpdates

Gets whether this type requires incremental updates for each substep in a frame beyond the first.

public override bool RequiresIncrementalSubstepUpdates { get; }

Property Value

bool

Methods

IncrementallyUpdateForSubstep(ref TypeBatch, Bodies, float, float, int, int)

public override void IncrementallyUpdateForSubstep(ref TypeBatch typeBatch, Bodies bodies, float dt, float inverseDt, int startBundle, int exclusiveEndBundle)

Parameters

typeBatch TypeBatch
bodies Bodies
dt float
inverseDt float
startBundle int
exclusiveEndBundle int

Solve(ref TypeBatch, Bodies, float, float, int, int)

public override void Solve(ref TypeBatch typeBatch, Bodies bodies, float dt, float inverseDt, int startBundle, int exclusiveEndBundle)

Parameters

typeBatch TypeBatch
bodies Bodies
dt float
inverseDt float
startBundle int
exclusiveEndBundle int

WarmStart<TIntegratorCallbacks, TBatchIntegrationMode, TAllowPoseIntegration>(ref TypeBatch, ref Buffer<IndexSet>, Bodies, ref TIntegratorCallbacks, float, float, int, int, int)

public override void WarmStart<TIntegratorCallbacks, TBatchIntegrationMode, TAllowPoseIntegration>(ref TypeBatch typeBatch, ref Buffer<IndexSet> integrationFlags, Bodies bodies, ref TIntegratorCallbacks integratorCallbacks, float dt, float inverseDt, int startBundle, int exclusiveEndBundle, int workerIndex) where TIntegratorCallbacks : struct, IPoseIntegratorCallbacks where TBatchIntegrationMode : unmanaged, IBatchIntegrationMode where TAllowPoseIntegration : unmanaged, IBatchPoseIntegrationAllowed

Parameters

typeBatch TypeBatch
integrationFlags Buffer<IndexSet>
bodies Bodies
integratorCallbacks TIntegratorCallbacks
dt float
inverseDt float
startBundle int
exclusiveEndBundle int
workerIndex int

Type Parameters

TIntegratorCallbacks
TBatchIntegrationMode
TAllowPoseIntegration