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

#include <SimCallbackObject.h>

+ Inheritance diagram for Chaos::FSimCallbackCommandObject:

Public Member Functions

 FSimCallbackCommandObject (TUniqueFunction< void()> &&InFunc, int32 Step=INDEX_NONE)
 
 FSimCallbackCommandObject (TUniqueFunction< void(FReal DeltaTime, FReal SimTime)> &&InFunc, int32 Step=INDEX_NONE)
 
virtual void FreeOutputData_External (FSimCallbackOutput *Output)
 
virtual FName GetFNameForStatId () const override
 
const bool ShouldExecute (const int32 Step, const bool bIsResim) const
 
const bool ShouldDelay (const int32 Step, const bool bIsResim) const
 
const int32 GetExecuteOnStep () const
 
- Public Member Functions inherited from Chaos::ISimCallbackObject
virtual ~ISimCallbackObject ()=default
 
 ISimCallbackObject (const ISimCallbackObject &)=delete
 
FReal GetSimTime_Internal () const
 
FReal GetDeltaTime_Internal () const
 
virtual bool IsFAsyncObjectManagerCallback () const
 
void PostInitialize_Internal ()
 
void PreSimulate_Internal ()
 
void PreIntegrate_Internal ()
 
void PostIntegrate_Internal ()
 
void MidPhaseModification_Internal (FMidPhaseModifierAccessor &Modifier)
 
void CCDModification_Internal (FCCDModifierAccessor &Modifier)
 
void StrainModification_Internal (FStrainModifierAccessor &Modifier)
 
void ContactModification_Internal (FCollisionContactModifier &Modifier)
 
void PreSolve_Internal ()
 
void PostSolve_Internal ()
 
void FinalizeOutputData_Internal ()
 
FPhysicsSolverBaseGetSolver ()
 
const FPhysicsSolverBaseGetSolver () const
 
virtual void InjectInputs_External (int32 PhysicsStep, int32 NumSteps)
 
virtual void ProcessInputs_Internal (int32 PhysicsStep)
 
virtual void ProcessInputs_External (int32 PhysicsStep)
 
virtual int32 TriggerRewindIfNeeded_Internal (int32 LastCompletedStep)
 
virtual void ApplyCorrections_Internal (int32 PhysicsStep, FSimCallbackInput *Input)
 
virtual void FirstPreResimStep_Internal (int32 PhysicsStep)
 
bool HasOption (const ESimCallbackOptions Option) const
 
bool RunOnFrozenGameThread () const
 

Friends

struct FSimCallbackInput
 

Additional Inherited Members

- Protected Member Functions inherited from Chaos::ISimCallbackObject
 ISimCallbackObject (const ESimCallbackOptions InOptions=ESimCallbackOptions::Presimulate)
 
CHAOS_API FSimCallbackInputGetProducerInputData_External ()
 
void SetCurrentInput_Internal (FSimCallbackInput *NewInput)
 
void SetSimAndDeltaTime_Internal (const FReal InSimTime, const FReal InDeltaTime)
 
const FSimCallbackInputGetCurrentInput_Internal () const
 
- Protected Attributes inherited from Chaos::ISimCallbackObject
FSimCallbackOutputCurrentOutput_Internal
 

Detailed Description

Simple callback command object. Commands are typically passed in as lambdas and there's no need for data management. Should not be used directly, see FPhysicsSolverBase::EnqueueCommand

Constructor & Destructor Documentation

◆ FSimCallbackCommandObject() [1/2]

Chaos::FSimCallbackCommandObject::FSimCallbackCommandObject ( TUniqueFunction< void()> &&  InFunc,
int32  Step = INDEX_NONE 
)
inline

◆ FSimCallbackCommandObject() [2/2]

Chaos::FSimCallbackCommandObject::FSimCallbackCommandObject ( TUniqueFunction< void(FReal DeltaTime, FReal SimTime)> &&  InFunc,
int32  Step = INDEX_NONE 
)
inline

Member Function Documentation

◆ FreeOutputData_External()

virtual void Chaos::FSimCallbackCommandObject::FreeOutputData_External ( FSimCallbackOutput Output)
inlinevirtual

Free the output data. Note that allocation is done on the internal thread, but freeing is done on the external thread. A common pattern is to use a single producer single consumer thread safe queue to manage this.

Implements Chaos::ISimCallbackObject.

◆ GetExecuteOnStep()

const int32 Chaos::FSimCallbackCommandObject::GetExecuteOnStep ( ) const
inline

◆ GetFNameForStatId()

virtual FName Chaos::FSimCallbackCommandObject::GetFNameForStatId ( ) const
inlineoverridevirtual

Get a stat name to describe this callback in external profiling and STATS when Named events are enabled

Reimplemented from Chaos::ISimCallbackObject.

◆ ShouldDelay()

const bool Chaos::FSimCallbackCommandObject::ShouldDelay ( const int32  Step,
const bool  bIsResim 
) const
inline

◆ ShouldExecute()

const bool Chaos::FSimCallbackCommandObject::ShouldExecute ( const int32  Step,
const bool  bIsResim 
) const
inline

Friends And Related Symbol Documentation

◆ FSimCallbackInput


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