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
TPrestepDataTAccumulatedImpulseTConstraintFunctionsTWarmStartAccessFilterATSolveAccessFilterA
- 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
typeBatchTypeBatchintegrationFlagsBuffer<IndexSet>bodiesBodiesintegratorCallbacksTIntegratorCallbacksdtfloatinverseDtfloatstartBundleintexclusiveEndBundleintworkerIndexint
Type Parameters
TIntegratorCallbacksTBatchIntegrationModeTAllowPoseIntegration