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
-
OneBodyTypeProcessor<TPrestepData, TAccumulatedImpulse, TConstraintFunctions, TWarmStartAccessFilterA, TSolveAccessFilterA>
- Derived
- Inherited Members
-
TypeProcessor<Vector<int>, TPrestepData, TAccumulatedImpulse>.Resize(ref TypeBatch, int, BufferPool)
Properties
InternalBodiesPerConstraint
protected override sealed int InternalBodiesPerConstraint { get; }
Property Value
RequiresIncrementalSubstepUpdates
Gets whether this type requires incremental updates for each substep in a frame beyond the first.
public override bool RequiresIncrementalSubstepUpdates { get; }
Property Value
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
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
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
TypeBatchintegrationFlags
Buffer<IndexSet>bodies
BodiesintegratorCallbacks
TIntegratorCallbacksdt
floatinverseDt
floatstartBundle
intexclusiveEndBundle
intworkerIndex
int
Type Parameters
TIntegratorCallbacks
TBatchIntegrationMode
TAllowPoseIntegration