Navigation
API > API/Runtime > API/Runtime/Chaos
A broad phase that iterates over particle and uses a spatial acceleration structure to output potentially overlapping SpatialAccelerationHandles.
| Name | FSpatialAccelerationBroadPhase |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Collision/SpatialAccelerationBroadPhase.h |
| Include Path | #include "Chaos/Collision/SpatialAccelerationBroadPhase.h" |
Syntax
class FSpatialAccelerationBroadPhase
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSpatialAccelerationBroadPhase
(
const FPBDRigidsSOAs& InParticles |
Chaos/Collision/SpatialAccelerationBroadPhase.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FAccelerationStructure | ISpatialAcceleration< FAccelerationStructureHandle, FReal, 3 > | Chaos/Collision/SpatialAccelerationBroadPhase.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bNeedsResim | bool | Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
| BroadphaseContexts | TArray< Private::FBroadPhaseContext > | Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
| ContextsWithConstraints | TArray< int32 > | Contexts indexes in which there are constraints. | Chaos/Collision/SpatialAccelerationBroadPhase.h | |
| IgnoreCollisionManager | FIgnoreCollisionManager | Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
| NumActiveBroadphaseContexts | int32 | Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
| NumBroadPhasePairs | int32 | Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
| NumMidPhases | int32 | Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
| Particles | const FPBDRigidsSOAs & | Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
| PendingTasks | TArray< UE::Tasks::FTask > | Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
| SpatialAcceleration | const FAccelerationStructure * | Chaos/Collision/SpatialAccelerationBroadPhase.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ComputeParticlesOverlaps
(
ViewType& OverlapView, |
This function is the outer loop of collision detection. It loops over the particles view and do the broadphase + narrowphase collision detection. | Chaos/Collision/SpatialAccelerationBroadPhase.h | |
void GatherConstraints
(
bool bIsDeterministic |
Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
FIgnoreCollisionManager & GetIgnoreCollisionManager() |
Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
int32 GetNumBroadPhasePairs() |
Stats. | Chaos/Collision/SpatialAccelerationBroadPhase.h | |
int32 GetNumMidPhases() |
Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
void ProduceCollisions
(
FReal Dt |
Generate all the collision constraints for the set of overlapping objects produced by the broad phase | Chaos/Collision/SpatialAccelerationBroadPhase.h | |
void ProduceOverlaps
(
FReal Dt, |
Generate all overlapping pairs and spawn a midphase object to handle collisions for each of them | Chaos/Collision/SpatialAccelerationBroadPhase.h | |
void ProduceOverlaps
(
FReal Dt, |
Chaos/Collision/SpatialAccelerationBroadPhase.h | ||
void SetSpatialAcceleration
(
const FAccelerationStructure* InSpatialAcceleration |
Chaos/Collision/SpatialAccelerationBroadPhase.h |