Navigation
API > API/Runtime > API/Runtime/Chaos
Container the storage for the FCollisionConstraintAllocator, as well as the API to create new midphases and collision constraints. We have one of these objects per thread on which collisions detection is performed to get lock-free allocations and lists.
| Name | FCollisionContextAllocator |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Collision/CollisionConstraintAllocator.h |
| Include Path | #include "Chaos/Collision/CollisionConstraintAllocator.h" |
Syntax
class FCollisionContextAllocator
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FCollisionContextAllocator
(
FPBDCollisionConstraints* InCollisionContainer, |
Chaos/Collision/CollisionConstraintAllocator.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CollisionContainer | FPBDCollisionConstraints * | Chaos/Collision/CollisionConstraintAllocator.h | ||
| ConstraintPool | FPBDCollisionConstraintPool | Chaos/Collision/CollisionConstraintAllocator.h | ||
| CurrentEpoch | int32 | Chaos/Collision/CollisionConstraintAllocator.h | ||
| NewActiveConstraints | TArray< FPBDCollisionConstraint * > | Chaos/Collision/CollisionConstraintAllocator.h | ||
| NewMidPhases | TArray< FParticlePairMidPhase * > | Chaos/Collision/CollisionConstraintAllocator.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool ActivateConstraint
(
FPBDCollisionConstraint* Constraint |
Set the constraint as Active - it will be added to the graph and solved this tick. | Chaos/Collision/CollisionConstraintAllocator.h | |
FPBDCollisionConstraintPtr CreateConstraint () |
Create an uninitialized collision constraint (public only for use by Resim which overwrites it with a saved constraint) | Chaos/Collision/CollisionConstraintAllocator.h | |
FPBDCollisionConstraintPtr CreateConstraint
(
FGeometryParticleHandle* Particle0, |
Create a constraint (called by the MidPhase) | Chaos/Collision/CollisionConstraintAllocator.h | |
FParticlePairMidPhase * FindMidPhase
(
FGeometryParticleHandle* Particle0, |
Return a midphase for a particle pair if it already exists, otherwise return null | Chaos/Collision/CollisionConstraintAllocator.h | |
int32 GetCurrentEpoch() |
The current epoch used to determine if a collision is up to date | Chaos/Collision/CollisionConstraintAllocator.h | |
FParticlePairMidPhase * GetMidPhase
(
FGeometryParticleHandle* Particle0, |
Return a midphase for a particle pair. | Chaos/Collision/CollisionConstraintAllocator.h |