UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FChaosScene Class Reference

#include <ChaosScene.h>

+ Inheritance diagram for FChaosScene:

Public Member Functions

PHYSICSCORE_API FChaosScene (UObject *OwnerPtr, Chaos::FReal InAsyncDt, const FName &DebugName=NAME_None)
 
virtual PHYSICSCORE_API ~FChaosScene ()
 
Chaos::FPhysicsSolverGetSolver () const
 
PHYSICSCORE_API const Chaos::ISpatialAcceleration< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * GetSpacialAcceleration () const
 
PHYSICSCORE_API Chaos::ISpatialAcceleration< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * GetSpacialAcceleration ()
 
PHYSICSCORE_API void AddActorsToScene_AssumesLocked (TArray< FPhysicsActorHandle > &InHandles, const bool bImmediate=true)
 
PHYSICSCORE_API void RemoveActorFromAccelerationStructure (FPhysicsActorHandle Actor)
 
PHYSICSCORE_API void RemoveActorFromAccelerationStructureImp (Chaos::FGeometryParticle *Particle)
 
PHYSICSCORE_API void UpdateActorsInAccelerationStructure (const TArrayView< FPhysicsActorHandle > &Actors)
 
PHYSICSCORE_API void UpdateActorInAccelerationStructure (const FPhysicsActorHandle &Actor)
 
PHYSICSCORE_API void WaitPhysScenes ()
 
PHYSICSCORE_API void CopySolverAccelerationStructure ()
 
PHYSICSCORE_API void Flush ()
 
PHYSICSCORE_API void StartFrame ()
 
PHYSICSCORE_API void SetUpForFrame (const FVector *NewGrav, float InDeltaSeconds, float InMinPhysicsDeltaTime, float InMaxPhysicsDeltaTime, float InMaxSubstepDeltaTime, int32 InMaxSubsteps, bool bSubstepping)
 
PHYSICSCORE_API void EndFrame ()
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FOnPhysScenePostTick, FChaosScene *)
 
PHYSICSCORE_API void KillSafeAsyncTasks ()
 
PHYSICSCORE_API void WaitSolverTasks ()
 
PHYSICSCORE_API bool AreAnyTasksPending () const
 
PHYSICSCORE_API void BeginDestroy ()
 
PHYSICSCORE_API bool IsCompletionEventComplete () const
 
PHYSICSCORE_API FGraphEventArray GetCompletionEvents ()
 
void SetNetworkDeltaTimeScale (float InDeltaTimeScale)
 
float GetNetworkDeltaTimeScale () const
 

Public Attributes

FOnPhysScenePostTick OnPhysScenePostTick
 

Protected Member Functions

virtual float OnStartFrame (float InDeltaTime)
 
virtual PHYSICSCORE_API void OnSyncBodies (Chaos::FPhysicsSolverBase *Solver)
 

Protected Attributes

Chaos::ISpatialAccelerationCollection< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * SolverAccelerationStructure
 
FChaosSolversModuleChaosModule
 
Chaos::FPhysicsSolverSceneSolver
 
float MDeltaTime
 
float MNetworkDeltaTimeScale = 1.f
 
UObjectOwner
 

Friends

struct ChaosInterface::FScopedSceneReadLock
 
struct FScopedSceneLock_Chaos
 

Detailed Description

Low level Chaos scene used when building custom simulations that don't exist in the main world physics scene.

Constructor & Destructor Documentation

◆ FChaosScene()

FChaosScene::FChaosScene ( UObject OwnerPtr,
Chaos::FReal  InAsyncDt,
const FName DebugName = NAME_None 
)

◆ ~FChaosScene()

FChaosScene::~FChaosScene ( )
virtual

Member Function Documentation

◆ AddActorsToScene_AssumesLocked()

void FChaosScene::AddActorsToScene_AssumesLocked ( TArray< FPhysicsActorHandle > &  InHandles,
const bool  bImmediate = true 
)

◆ AreAnyTasksPending()

bool FChaosScene::AreAnyTasksPending ( ) const

◆ BeginDestroy()

void FChaosScene::BeginDestroy ( )

◆ CopySolverAccelerationStructure()

void FChaosScene::CopySolverAccelerationStructure ( )

Copies the acceleration structure out of the solver, does no thread safety checking so ensure calls to this are made at appropriate sync points if required

◆ DECLARE_MULTICAST_DELEGATE_OneParam()

FChaosScene::DECLARE_MULTICAST_DELEGATE_OneParam ( FOnPhysScenePostTick  ,
FChaosScene  
)

◆ EndFrame()

void FChaosScene::EndFrame ( )

◆ Flush()

void FChaosScene::Flush ( )

Flushes all pending global, task and solver command queues and refreshes the spatial acceleration for the scene. Required when querying against a currently non-running scene to ensure the scene is correctly represented

◆ GetCompletionEvents()

FGraphEventArray FChaosScene::GetCompletionEvents ( )

◆ GetNetworkDeltaTimeScale()

float FChaosScene::GetNetworkDeltaTimeScale ( ) const
inline

◆ GetSolver()

Chaos::FPhysicsSolver * FChaosScene::GetSolver ( ) const
inline

Get the internal Chaos solver object

◆ GetSpacialAcceleration() [1/2]

Chaos::ISpatialAcceleration< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * FChaosScene::GetSpacialAcceleration ( )

◆ GetSpacialAcceleration() [2/2]

const Chaos::ISpatialAcceleration< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * FChaosScene::GetSpacialAcceleration ( ) const

◆ IsCompletionEventComplete()

bool FChaosScene::IsCompletionEventComplete ( ) const

◆ KillSafeAsyncTasks()

void FChaosScene::KillSafeAsyncTasks ( )

◆ OnStartFrame()

virtual float FChaosScene::OnStartFrame ( float  InDeltaTime)
inlineprotectedvirtual

Reimplemented in FPhysScene_Chaos.

◆ OnSyncBodies()

void FChaosScene::OnSyncBodies ( Chaos::FPhysicsSolverBase Solver)
protectedvirtual

◆ RemoveActorFromAccelerationStructure()

void FChaosScene::RemoveActorFromAccelerationStructure ( FPhysicsActorHandle  Actor)

◆ RemoveActorFromAccelerationStructureImp()

void FChaosScene::RemoveActorFromAccelerationStructureImp ( Chaos::FGeometryParticle Particle)

◆ SetNetworkDeltaTimeScale()

void FChaosScene::SetNetworkDeltaTimeScale ( float  InDeltaTimeScale)
inline

◆ SetUpForFrame()

void FChaosScene::SetUpForFrame ( const FVector NewGrav,
float  InDeltaSeconds,
float  InMinPhysicsDeltaTime,
float  InMaxPhysicsDeltaTime,
float  InMaxSubstepDeltaTime,
int32  InMaxSubsteps,
bool  bSubstepping 
)

◆ StartFrame()

void FChaosScene::StartFrame ( )

◆ UpdateActorInAccelerationStructure()

void FChaosScene::UpdateActorInAccelerationStructure ( const FPhysicsActorHandle Actor)

◆ UpdateActorsInAccelerationStructure()

void FChaosScene::UpdateActorsInAccelerationStructure ( const TArrayView< FPhysicsActorHandle > &  Actors)

◆ WaitPhysScenes()

void FChaosScene::WaitPhysScenes ( )

◆ WaitSolverTasks()

void FChaosScene::WaitSolverTasks ( )

Friends And Related Symbol Documentation

◆ ChaosInterface::FScopedSceneReadLock

◆ FScopedSceneLock_Chaos

Member Data Documentation

◆ ChaosModule

FChaosSolversModule* FChaosScene::ChaosModule
protected

◆ MDeltaTime

float FChaosScene::MDeltaTime
protected

◆ MNetworkDeltaTimeScale

float FChaosScene::MNetworkDeltaTimeScale = 1.f
protected

◆ OnPhysScenePostTick

FOnPhysScenePostTick FChaosScene::OnPhysScenePostTick

◆ Owner

UObject* FChaosScene::Owner
protected

◆ SceneSolver

Chaos::FPhysicsSolver* FChaosScene::SceneSolver
protected

◆ SolverAccelerationStructure

Chaos::ISpatialAccelerationCollection<Chaos::FAccelerationStructureHandle, Chaos::FReal, 3>* FChaosScene::SolverAccelerationStructure
protected

The documentation for this class was generated from the following files: