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.

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
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.