FChaosScene

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

Windows
MacOS
Linux

Inheritance Hierarchy

FChaosScene

FPhysScene_Chaos

References

Module

PhysicsCore

Header

/Engine/Source/Runtime/PhysicsCore/Public/Chaos/ChaosScene.h

Include

#include "Chaos/ChaosScene.h"

Syntax

class FChaosScene

Remarks

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

Variables

Name Description

Protected variable

FChaosSolversMo ...

 

ChaosModule

Control module for Chaos - cached to avoid constantly hitting the module manager.

Protected variable

Chaos::FPhysics ...

 

ExternalDataLock

Scene lock object for external threads (non-physics)

Protected variable

float

 

MDeltaTime

Public variable

FOnPhysScenePos ...

 

OnPhysScenePostTick

Protected variable

UObject *

 

Owner

Protected variable

TArray < UObject ...

 

PieModifiedObjects

List of objects that we modified during a PIE run for physics simulation caching.

Protected variable

Chaos::FPhysics ...

 

SceneSolver

Solver representing this scene.

Protected variable

TUniquePtr < Cha ...

 

SolverAccelerationStructure

Constructors

Name Description

Public function

FChaosScene

(
    UObject * OwnerPtr
)

Destructors

Name Description

Public function Virtual

~FChaosScene()

Functions

Name Description

Public function

void

 

AddActorsToScene_AssumesLocked

(
    TArray < FPhysicsActorHandle >& InH...,
    const bool bImmediate
)

Public function

void

 

AddPieModifiedObject

(
    UObject * InObj
)

Public function

void

 

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

Public function

void

 

EndFrame()

Public function

void

 

Flush_AssumesLocked()

Flushes all pending global, task and solver command queues and refreshes the spatial acceleration for the scene.

Public function

FGraphEventA ...

 

GetCompletionEvents()

Public function Const

Chaos::FPhys ...

 

GetSolver()

Get the internal Chaos solver object

Public function

Chaos::ISpat ...

 

GetSpacialAcceleration()

Public function Const

const Chaos: ...

 

GetSpacialAcceleration()

Public function Const

bool

 

IsCompletionEventComplete()

Protected function Virtual

float

 

OnStartFrame

(
    float InDeltaTime
)

Protected function Virtual

void

 

OnSyncBodies

(
    const int32 SolverSyncTimestamp,
    Chaos::FPBDRigidDirtyParticlesBuffe ...
)

Public function

void

 

RemoveActorFromAccelerationStructure

(
    FPhysicsActorHandle& Actor
)

Public function

void

 

SetUpForFrame

(
    const FVector * NewGrav,
    float InDeltaSeconds,
    float InMaxPhysicsDeltaTime,
    float InMaxSubstepDeltaTime,
    int32 InMaxSubsteps,
    bool bSubstepping
)

Public function

void

 

StartFrame()

Public function

void

 

UpdateActorInAccelerationStructure

(
    const FPhysicsActorHandle& Actor
)

Public function

void

 

UpdateActorsInAccelerationStructure

(
    const TArrayView < FPhysicsActorHand...
)

Public function

void

 

WaitPhysScenes()

Typedefs

Name

Description

FOnPhysScenePostTick

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback