Table of Contents

Namespace BepuPhysics.CollisionDetection

Classes

BroadPhase

Manages scene acceleration structures for collision detection and queries.

CollidableOverlapFinder
CollidableOverlapFinder<TCallbacks>
CollisionTask

Parent type of tasks which handle collision tests between batches of shapes of a particular type.

CollisionTaskRegistry

Registry of collision tasks used to handle various shape pair types.

ConstraintRemover

Accumulates constraints to remove from multiple threads, and efficiently removes them all as a batch.

ContactConstraintAccessor

Provides indirection for reading from and updating constraints in the narrow phase.

ContactConstraintAccessor<TConstraintDescription, TBodyHandles, TPrestepData, TAccumulatedImpulses, TContactImpulses>
ConvexOneBodyAccessor<TConstraintDescription, TPrestepData, TAccumulatedImpulses, TContactImpulses>
ConvexTwoBodyAccessor<TConstraintDescription, TPrestepData, TAccumulatedImpulses, TContactImpulses>
DepthRefiner<TShapeA, TShapeWideA, TSupportFinderA, TShapeB, TShapeWideB, TSupportFinderB>

Incrementally refines a sample direction to approach a local minimum depth between two convex bodies.

MeshReductionThunks<TMesh>

Type-specialized thunks that bridge MeshReduction's type-erased function pointer fields back to a concrete mesh shape type. The static fields here are populated once per closed TMesh by the runtime, and the JIT specializes the bodies so that the calls into TMesh are devirtualized.

NarrowPhase
NarrowPhase<TCallbacks>

Turns broad phase overlaps into contact manifolds and uses them to manage constraints in the solver.

NonconvexOneBodyAccessor<TConstraintDescription, TPrestepData, TAccumulatedImpulses, TContactImpulses>
NonconvexTwoBodyAccessor<TConstraintDescription, TPrestepData, TAccumulatedImpulses, TContactImpulses>
PairCache
SweepTask
SweepTaskRegistry
WideRayTester

Helper class for creating runtime specialized vectorized ray intersection tests with shapes that support broadcasting.

Structs

BatcherContinuations<T>
BroadPhaseRayBatcher<TRayTester>

Helps test the broad phase's active and static trees with a custom leaf tester.

CCDContinuationIndex
CollidablePair
CollidablePairComparer
CollisionBatcher<TCallbacks>
CollisionTaskReference

Metadata about a collision task.

CompoundMeshReduction
ConstraintCache

Stores information about a contact constraint from the previous timestep.

Contact

Information about a single contact.

ContactImpulses1
ContactImpulses2
ContactImpulses3
ContactImpulses4
ContactImpulses5
ContactImpulses6
ContactImpulses7
ContactImpulses8
Convex1ContactManifoldWide
Convex2ContactManifoldWide
Convex4ContactManifoldWide
ConvexContact

Information about a single contact in a convex collidable pair. Convex collidable pairs share one surface basis across the manifold, since the contact surface is guaranteed to be a plane.

ConvexContactManifold

Contains the data associated with a convex contact manifold.

DepthRefiner<TShapeA, TShapeWideA, TSupportFinderA, TShapeB, TShapeWideB, TSupportFinderB>.Simplex
DepthRefiner<TShapeA, TShapeWideA, TSupportFinderA, TShapeB, TShapeWideB, TSupportFinderB>.SimplexWithWitness
DepthRefiner<TShapeA, TShapeWideA, TSupportFinderA, TShapeB, TShapeWideB, TSupportFinderB>.Vertex
DepthRefiner<TShapeA, TShapeWideA, TSupportFinderA, TShapeB, TShapeWideB, TSupportFinderB>.VertexWithWitness
MeshReduction
MeshReduction.ChildEnumerator
NarrowPhaseFlushJob
NarrowPhase<TCallbacks>.CollisionCallbacks
NarrowPhase<TCallbacks>.OverlapWorker
NarrowPhase<TCallbacks>.PendingConstraintAddCache
NarrowPhase<TCallbacks>.SortConstraintTarget
NonconvexContactManifold

Contains the data associated with a nonconvex contact manifold.

NonconvexReduction
NonconvexReductionChild
PairCacheChangeIndex

Refers to a change in a PairCache.

PairContinuation
PairMaterialProperties

Material properties governing the interaction between colliding bodies. Used by the narrow phase to create constraints of the appropriate configuration.

SimulationRayBatcher<TRayHitHandler>

Tests batches of rays against the simulation.

TwoBodyHandles

Associated with a pair of two collidables that each are controlled by bodies.

UntypedList
WorkerPendingPairChanges

Contains the pending pair cache changes created by a single worker during the last execution of narrow phase pair processing.

WorkerPendingPairChanges.PendingAdd

Interfaces

IBroadPhaseBatchedRayTester
IBroadPhaseRayTester
IBroadPhaseSweepTester

Defines a type that can act as a callback for broad phase sweep tests.

ICollisionCallbacks

Callbacks invoked by a CollisionBatcher<TCallbacks>.

ICollisionTestContinuation

Defines a type which includes information necessary to apply some form of post processing to a collision test result.

IContactManifold<TManifold>
INarrowPhaseCallbacks

Defines handlers for narrow phase events.

ISupportFinder<TShape, TShapeWide>
ISweepFilter

Enums

CollisionContinuationType

Describes the flow control to apply to a convex-convex pair report.

CollisionTaskPairType

Describes the data requirements for a collision pair type in a CollisionBatcher<TCallbacks>.

NarrowPhaseFlushJobType
NarrowPhase<TCallbacks>.ConstraintGeneratorType

Delegates

BroadPhase.RefinementScheduler

Returns the size and number of refinements to execute during the broad phase.