FChaosSolversModule

Windows
MacOS
Linux

Inheritance Hierarchy

IModuleInterface

FChaosSolversModule

References

Module

ChaosSolvers

Header

/Engine/Source/Runtime/Experimental/ChaosSolvers/Public/ChaosSolversModule.h

Include

#include "ChaosSolversModule.h"

Syntax

class FChaosSolversModule : public IModuleInterface

Constructors

Name Description

Public function

FChaosSolversModule()

Functions

Name Description

Public function

void

 

ChangeBufferMode

(
    Chaos::EMultiBufferMode InBufferMod...
)

Public function

void

 

ChangeThreadingMode

(
    Chaos::EThreadingMode InNewMode
)

Public function

Chaos::FPhys...

 

CreateSolver

(
    UObject* InOwner
)

Create a new solver state storage object to contain a solver and proxy storage object.

Public function

Chaos::FPhys...

 

CreateSolver

(
    UObject* InOwner,
    ESolverFlags InFlags
)

Public function

void

 

DestroySolver

(
    Chaos::FPhysicsSolver* InState
)

Shuts down and destroys a solver state

Public function

void

 

DispatchGlobalCommands()

Calls from engine tick notifying how the frame is updated

Public function

void

 

DumpHierarchyStats

(
    int32* OutOptMaxCellElements
)

Outputs statistics for the solver hierarchies.

Public function

void

 

EndPhysicsTask()

Shuts down the physics thread task #BG TODO cleanup running task

Public function Const

const TArray...

 

GetAllSolvers()

Retrieve the master list of solvers. This contains all owned, unowned and standalone solvers

Public function Const

Chaos::EMult...

 

GetBufferModeFromThreadingModel

(
    Chaos::EThreadingMode ThreadingMode
)

Public function Const

Chaos::FPers...

 

GetDedicatedTask()

Gets the inner physics thread task if it has been spawned.

Public function Const

Chaos::EMult...

 

GetDesiredBufferingMode()

Public function Const

Chaos::EThre...

 

GetDesiredThreadingMode()

Public function Const

Chaos::IDisp...

 

GetDispatcher()

Get the dispatcher interface currently being used.

Public function Static

FChaosSolver...

 

GetModule()

Public function Const

UClass *

 

GetSolverActorClass()

Public function Const

void

 

GetSolvers

(
    const UObject* InOwner,
    TArray< const Chaos::FPhysicsSolver...
)

Read access to the current solver-state objects, be aware which thread owns this data when attempting to use this.

Public function Const

TArray< cons...

 

GetSolvers

(
    const UObject* InOwner
)

Read access to the current solver-state objects, be aware which thread owns this data when attempting to use this.

Public function

TArray< Chao...

 

GetSolversMutable

(
    const UObject* InOwner
)

Non-const access to the solver array is private - only the module should ever modify the storage lists

Public function

void

 

GetSolversMutable

(
    const UObject* InOwner,
    TArray< Chaos::FPhysicsSolver*...
)

Non-const access to the solver array is private - only the module should ever modify the storage lists

Public function

void

 

GetSolverUpdatePrerequisites

(
    FGraphEventArray& InPrerequisiteCo...
)

Gets a list of pending prerequisites required before proceeding with a solver update

Public function

void

 

Initialize()

Public function

void

 

InitializeThreadingMode

(
    Chaos::EThreadingMode InNewMode
)

Public function Const

bool

 

IsPersistentTaskEnabled()

Queries for multithreaded configurations

Public function Const

bool

 

IsPersistentTaskRunning()

Public function Const

bool

 

IsValidSolverActorClass

(
    UClass* Class
)

Public function

void

 

LockResultsRead()

Acquires a read lock for physics object results

Public function

void

 

LockSolvers()

Public function

void

 

MigrateSolver

(
    Chaos::FPhysicsSolver* InSolve...,
    const UObject* InNewOwner
)

Public function

void

 

OnCreateMaterial

(
    Chaos::FMaterialHandle InHandle
)

Public function

void

 

OnCreateMaterialMask

(
    Chaos::FMaterialMaskHandle InHandle
)

Public function

void

 

OnDestroyMaterial

(
    Chaos::FMaterialHandle InHandle
)

Public function

void

 

OnDestroyMaterialMask

(
    Chaos::FMaterialMaskHandle InHandle
)

Public function

void

 

OnSettingsChanged()

Public function

void

 

OnUpdateMaterial

(
    Chaos::FMaterialHandle InHandle
)

Events that the material manager will emit for us to update our threaded data

Public function

void

 

OnUpdateMaterialMask

(
    Chaos::FMaterialMaskHandle InHandle
)

Public function

void

 

PauseSolvers()

Pause solvers.

Public function

void

 

RegisterSolverActorClassProvider

Public function

void

 

ResumeSolvers()

Resume solvers.

Public function

void

 

SetDedicatedThreadTickMode

(
    EChaosSolverTickMode InTickMode
)

Sets the dedicated thread tickmode externally

Public function

void

 

SetSettingsProvider

(
    IChaosSettingsProvider* InProv...
)

Public function

void

 

SetSolverActorClass

(
    UClass* InActorClass,
    UClass* InActorRequiredBaseCla...
)

Sets the actor type which should be AChaosSolverActor::StaticClass() but that is not accessible from engine.

Public function Const

bool

 

ShouldStepSolver

(
    int32& InOutSingleStepCounter
)

Query whether a particular solver should advance and update its single-step counter. Thread safe.

Public function

void

 

Shutdown()

Public function

void

 

ShutdownThreadingMode()

Public function

void

 

SingleStepSolvers()

Single-step advance solvers.

Public function

void

 

StartPhysicsTask()

Creates and dispatches the physics thread task

Public function

void

 

SyncTask

(
    bool bForceBlockingSync
)

Called to request a sync between the game thread and the currently running physics task

Public function

void

 

UnlockResultsRead()

Unlocks an acquired physics object result lock

Public function

void

 

UnlockSolvers()

Overridden from IModuleInterface

Name Description

Public function Virtual

void

 

ShutdownModule()

Called before the module is unloaded, right before the module object is destroyed.

Public function Virtual

void

 

StartupModule()

Called right after the module DLL has been loaded and the module object has been created Load dependent modules here, and they will be guaranteed to be available during ShutdownModule.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss