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

#include <PBDRigidsSolver.h>

+ Inheritance diagram for Chaos::FPBDRigidsSolver:

Public Types

typedef FPhysicsSolverBase Super
 
typedef FPBDRigidsSOAs FParticlesType
 
typedef FPBDRigidDirtyParticlesBuffer FDirtyParticlesBuffer
 
typedef Chaos::FGeometryParticle FParticle
 
typedef Chaos::FGeometryParticleHandle FHandle
 
typedef Chaos::FPBDRigidsEvolutionGBF FPBDRigidsEvolution
 
typedef FPBDRigidDynamicSpringConstraints FRigidDynamicSpringConstraints
 
typedef FPBDPositionConstraints FPositionConstraints
 
using FJointConstraints = FPBDJointCombinedConstraints
 

Public Member Functions

CHAOS_API void ChangeBufferMode (Chaos::EMultiBufferMode InBufferMode)
 
CHAOS_API void RegisterObject (FSingleParticlePhysicsProxy *Proxy)
 
CHAOS_API void UnregisterObject (FSingleParticlePhysicsProxy *Proxy)
 
CHAOS_API void RegisterObject (FGeometryCollectionPhysicsProxy *InProxy)
 
CHAOS_API void UnregisterObject (FGeometryCollectionPhysicsProxy *InProxy)
 
CHAOS_API void RegisterObject (FClusterUnionPhysicsProxy *Proxy)
 
CHAOS_API void UnregisterObject (FClusterUnionPhysicsProxy *Proxy)
 
CHAOS_API void RegisterObject (Chaos::FJointConstraint *GTConstraint)
 
CHAOS_API void UnregisterObject (Chaos::FJointConstraint *GTConstraint)
 
CHAOS_API void RegisterObject (Chaos::FSuspensionConstraint *GTConstraint)
 
CHAOS_API void UnregisterObject (Chaos::FSuspensionConstraint *GTConstraint)
 
CHAOS_API void RegisterObject (Chaos::FCharacterGroundConstraint *GTConstraint)
 
CHAOS_API void UnregisterObject (Chaos::FCharacterGroundConstraint *GTConstraint)
 
FDirtyParticlesBufferGetDirtyParticlesBuffer () const
 
CHAOS_API int32 NumJointConstraints () const
 
CHAOS_API int32 NumCollisionConstraints () const
 
CHAOS_API void Reset ()
 
CHAOS_API void StartingSceneSimulation ()
 
CHAOS_API void CompleteSceneSimulation ()
 
CHAOS_API void UpdateGameThreadStructures ()
 
void SetCurrentFrame (const int32 CurrentFrameIn)
 
int32GetCurrentFrame ()
 
void SetPositionIterations (const int32 InNumIterations)
 
void SetVelocityIterations (const int32 InNumIterations)
 
void SetProjectionIterations (const int32 InNumIterations)
 
void SetCollisionCullDistance (const FReal InCullDistance)
 
void SetVelocityBoundsExpansion (const FReal BoundsVelocityMultiplier, const FReal MaxBoundsVelocityExpansion)
 
void SetVelocityBoundsExpansionMACD (const FReal BoundsVelocityMultiplier, const FReal MaxBoundsVelocityExpansion)
 
void SetCollisionMaxPushOutVelocity (const FReal InMaxPushOutVelocity)
 
void SetCollisionDepenetrationVelocity (const FRealSingle InVelocity)
 
void SetGenerateCollisionData (bool bDoGenerate)
 
void SetGenerateBreakingData (bool bDoGenerate)
 
void SetGenerateTrailingData (bool bDoGenerate)
 
void SetGenerateRemovalData (bool bDoGenerate)
 
void SetCollisionFilterSettings (const FSolverCollisionFilterSettings &InCollisionFilterSettings)
 
void SetBreakingFilterSettings (const FSolverBreakingFilterSettings &InBreakingFilterSettings)
 
void SetTrailingFilterSettings (const FSolverTrailingFilterSettings &InTrailingFilterSettings)
 
void SetRemovalFilterSettings (const FSolverRemovalFilterSettings &InRemovalFilterSettings)
 
CHAOS_API bool IsDetemerministic () const
 True if the simulation is running in deterministic mode This will be true if determinism is explicitly requested (via SetIsDeterministic()) or if required by some other system like Rewind/Resim support.
 
CHAOS_API void SetIsDeterministic (const bool bInIsDeterministic)
 Request that the sim be deterministic (or not)
 
FPBDJointConstraintsGetJointConstraints ()
 
const FPBDJointConstraintsGetJointConstraints () const
 
FJointConstraintsGetJointCombinedConstraints ()
 
const FJointConstraintsGetJointCombinedConstraints () const
 
FPBDSuspensionConstraintsGetSuspensionConstraints ()
 
const FPBDSuspensionConstraintsGetSuspensionConstraints () const
 
CHAOS_API void SetSuspensionTarget (Chaos::FSuspensionConstraint *GTConstraint, const FVector &TargetPos, const FVector &Normal, bool Enabled)
 
FCharacterGroundConstraintContainerGetCharacterGroundConstraints ()
 
const FCharacterGroundConstraintContainerGetCharacterGroundConstraints () const
 
CHAOS_API void EnableRewindCapture (int32 NumFrames, bool InUseCollisionResimCache, TUniquePtr< IRewindCallback > &&RewindCallback)
 
CHAOS_API void EnableRewindCapture (int32 NumFrames, bool InUseCollisionResimCache)
 
CHAOS_API void EnableRewindCapture (int32 NumFrames)
 
CHAOS_API void EnableRewindCapture ()
 
FPBDRigidsEvolutionGetEvolution ()
 
FPBDRigidsEvolutionGetEvolution () const
 
FParticlesTypeGetParticles ()
 
const FParticlesTypeGetParticles () const
 
FEventManagerGetEventManager ()
 
virtual void FlipEventManagerBuffer ()
 
FSolverEventFiltersGetEventFilters ()
 
FSolverEventFiltersGetEventFilters () const
 
CHAOS_API void SyncEvents_GameThread ()
 
CHAOS_API void PreIntegrateDebugDraw (FReal Dt) const
 
CHAOS_API void PreSolveDebugDraw (FReal Dt) const
 
CHAOS_API void PostTickDebugDraw (FReal Dt) const
 
void PostEvolutionVDBPush () const
 
TArray< FGeometryCollectionPhysicsProxy * > & GetGeometryCollectionPhysicsProxies_Internal ()
 
TArray< FGeometryCollectionPhysicsProxy * > & GetGeometryCollectionPhysicsProxiesField_Internal ()
 
const TArray< FJointConstraintPhysicsProxy * > & GetJointConstraintPhysicsProxies_Internal () const
 
CHAOS_API void UpdateMaterial (Chaos::FMaterialHandle InHandle, const Chaos::FChaosPhysicsMaterial &InNewData)
 
CHAOS_API void CreateMaterial (Chaos::FMaterialHandle InHandle, const Chaos::FChaosPhysicsMaterial &InNewData)
 
CHAOS_API void DestroyMaterial (Chaos::FMaterialHandle InHandle)
 
CHAOS_API void UpdateMaterialMask (Chaos::FMaterialMaskHandle InHandle, const Chaos::FChaosPhysicsMaterialMask &InNewData)
 
CHAOS_API void CreateMaterialMask (Chaos::FMaterialMaskHandle InHandle, const Chaos::FChaosPhysicsMaterialMask &InNewData)
 
CHAOS_API void DestroyMaterialMask (Chaos::FMaterialMaskHandle InHandle)
 
const THandleArray< FChaosPhysicsMaterial > & GetQueryMaterials_External () const
 
const THandleArray< FChaosPhysicsMaterialMask > & GetQueryMaterialMasks_External () const
 
const THandleArray< FChaosPhysicsMaterial > & GetSimMaterials () const
 
const THandleArray< FChaosPhysicsMaterialMask > & GetSimMaterialMasks () const
 
CHAOS_API void SyncQueryMaterials_External ()
 
bool RewindUsesCollisionResimCache () const
 
void FinalizeRewindData (const TParticleView< FPBDRigidParticles > &DirtyParticles)
 
FPerSolverFieldSystemGetPerSolverField ()
 
const FPerSolverFieldSystemGetPerSolverField () const
 
CHAOS_API void UpdateExternalAccelerationStructure_External (ISpatialAccelerationCollection< FAccelerationStructureHandle, FReal, 3 > *&ExternalStructure)
 
const ISpatialAccelerationCollection< FAccelerationStructureHandle, FReal, 3 > * GetInternalAccelerationStructure_Internal () const
 
CHAOS_API void ApplyConfig (const FChaosSolverConfiguration &InConfig)
 
virtual void KillSafeAsyncTasks () override
 
virtual bool AreAnyTasksPending () const override
 
CHAOS_API void BeginDestroy ()
 
CHAOS_API void FieldParameterUpdateCallback (Chaos::FPBDPositionConstraints &PositionTarget, TMap< int32, int32 > &TargetedParticles)
 
CHAOS_API void FieldForcesUpdateCallback ()
 
CHAOS_API void ResetStatCounters ()
 
CHAOS_API void UpdateStatCounters () const
 
CHAOS_API void UpdateExpensiveStatCounters () const
 
CHAOS_API FSingleParticlePhysicsProxyGetParticleProxy_PT (const FUniqueIdx &Idx)
 
CHAOS_API const FSingleParticlePhysicsProxyGetParticleProxy_PT (const FUniqueIdx &Idx) const
 
CHAOS_API FSingleParticlePhysicsProxyGetParticleProxy_PT (const FGeometryParticleHandle &Handle)
 
CHAOS_API const FSingleParticlePhysicsProxyGetParticleProxy_PT (const FGeometryParticleHandle &Handle) const
 
CHAOS_API void SetParticleDynamicMisc (FPBDRigidParticleHandle *Rigid, const FParticleDynamicMisc &DynamicMisc)
 
virtual CHAOS_API void ApplyCallbacks_Internal () override
 
CHAOS_API FSolverSerializerGetSerializer ()
 
CHAOS_API void OnEvolutionPreIntegrate (FReal Dt)
 
CHAOS_API void OnEvolutionPostIntegrate (FReal Dt)
 
virtual CHAOS_API void SetDebugDrawScene (const ChaosDD::Private::FChaosDDScenePtr &InCDDScene) override final
 
- Public Member Functions inherited from Chaos::FPhysicsSolverBase
template<typename Lambda >
void CastHelper (const Lambda &Func)
 
FPBDRigidsSolverCastChecked ()
 
CHAOS_API void ChangeBufferMode (EMultiBufferMode InBufferMode)
 
void AddDirtyProxy (IPhysicsProxyBase *ProxyBaseIn)
 
void RemoveDirtyProxy (IPhysicsProxyBase *ProxyBaseIn)
 
void RemoveDirtyProxyFromHistory_Internal (IPhysicsProxyBase *ProxyBaseIn)
 
void RemoveDirtyProxyIfNoShapesAreDirty (IPhysicsProxyBase *ProxyBaseIn)
 
const FDirtyProxiesBucketInfoGetDirtyProxyBucketInfo_External ()
 
int32 GetDirtyProxyBucketInfoNum_External (EPhysicsProxyType Type)
 
template<typename TProxiesArray >
void AddDirtyProxiesUnsafe (TProxiesArray &ProxiesArray)
 
void AddDirtyProxyShape (IPhysicsProxyBase *ProxyBaseIn, int32 ShapeIdx)
 
void SetNumDirtyShapes (IPhysicsProxyBase *Proxy, int32 NumShapes)
 
template<typename TSimCallbackObjectType , typename... ConstructorArgTypes>
TSimCallbackObjectTypeCreateAndRegisterSimCallbackObject_External (ConstructorArgTypes &&... ConstructorArgs)
 
template<typename TSimCallbackObjectType >
TSimCallbackObjectTypeCreateAndRegisterSimCallbackObject_External (bool bContactModification, bool bRegisterRewindCallback=false)
 
CHAOS_API void EnqueueSimcallbackRewindRegisteration (ISimCallbackObject *Callback)
 
void UnregisterAndFreeSimCallbackObject_External (ISimCallbackObject *SimCallbackObject)
 
template<typename Lambda >
void RegisterSimOneShotCallback (Lambda &&Func)
 
template<typename Lambda >
void EnqueueCommandImmediate (Lambda &&Func)
 
template<typename Lambda >
void EnqueueCommandScheduled_External (const int32 ExecuteOnStep, Lambda &&Func)
 
CHAOS_API void SetRewindCallback (TUniquePtr< IRewindCallback > &&RewindCallback)
 
FRewindDataGetRewindData ()
 
IRewindCallbackGetRewindCallback ()
 
bool ShouldApplyRewindCallbacks ()
 
void SetUseCollisionResimCache (bool InUseCollisionResimCache)
 
bool GetUseCollisionResimCache () const
 
void SetPhysicsReplication (FPhysicsReplicationAsync *InPhysicsReplication)
 
FPhysicsReplicationAsyncGetPhysicsReplication ()
 
void SetPhysicsReplication_Internal (IPhysicsReplicationAsync *InPhysicsReplication)
 
IPhysicsReplicationAsyncGetPhysicsReplication_Internal ()
 
void SetPhysicsReplicationLOD_Internal (IPhysicsReplicationLODAsync *InPhysicsReplicationLOD)
 
IPhysicsReplicationLODAsyncGetPhysicsReplicationLOD_Internal ()
 
FGeometryParticleUniqueIdxToGTParticle_External (const FUniqueIdx &UniqueIdx) const
 
void WaitOnPendingTasks_External ()
 
bool IsPendingTasksComplete () const
 
const UObjectGetOwner () const
 
void SetOwner (const UObject *InOwner)
 
void SetThreadingMode_External (EThreadingModeTemp InThreadingMode)
 
void MarkShuttingDown ()
 
bool IsShuttingDown () const
 
CHAOS_API void EnableAsyncMode (FReal FixedDt)
 
FReal GetAsyncDeltaTime () const
 
CHAOS_API void DisableAsyncMode ()
 
FChaosMarshallingManagerGetMarshallingManager ()
 
FChaosResultsManagerGetResultsManager ()
 
EThreadingModeTemp GetThreadingMode () const
 
CHAOS_API FGraphEventRef AdvanceAndDispatch_External (FReal InDt)
 
CHAOS_API FName GetDebugName () const
 
bool IsGameThreadFrozen () const
 
void SetGameThreadFrozen (bool InGameThreadFrozen)
 
void FinalizeCallbackData_Internal ()
 
CHAOS_API void UpdateParticleInAccelerationStructure_External (FGeometryParticle *Particle, EPendingSpatialDataOperation InOperation)
 
bool IsPaused_External () const
 
void SetIsPaused_External (bool bShouldPause)
 
template<typename TDispatcher >
void PullPhysicsStateForEachDirtyProxy_External (TDispatcher &Dispatcher)
 
template<typename RigidLambda , typename ConstraintLambda , typename GeometryCollectionLambda >
void PullPhysicsStateForEachDirtyProxy_External (const RigidLambda &RigidFunc, const ConstraintLambda &ConstraintFunc, const GeometryCollectionLambda &GeometryCollectionFunc)
 
template<typename RigidLambda , typename ConstraintLambda >
void PullPhysicsStateForEachDirtyProxy_External (const RigidLambda &RigidFunc, const ConstraintLambda &ConstraintFunc)
 
bool IsUsingAsyncResults () const
 
bool IsUsingFixedDt () const
 
void SetMaxDeltaTime_External (float InMaxDeltaTime)
 
void SetMinDeltaTime_External (float InMinDeltaTime)
 
float GetMaxDeltaTime_External () const
 
float GetMinDeltaTime_External () const
 
void SetMaxSubSteps_External (const int32 InMaxSubSteps)
 
int32 GetMaxSubSteps_External () const
 
void SetSolverSubstep_External (bool bInSubstepExternal)
 
bool GetSolverSubstep_External () const
 
FReal GetAccumulatedTime () const
 
FReal GetPhysicsResultsTime_External () const
 
void SetSolverTime (const FReal InTime)
 
const FReal GetSolverTime () const
 
FReal GetLastDt () const
 
void SetAsyncPhysicsBlockMode (EAsyncBlockMode InAsyncBlockMode)
 
void SetAsyncInterpolationMultiplier (FRealSingle InAsyncInterpolationMultiplier)
 
float GetAsyncInterpolationMultiplier () const
 
bool IsStandaloneSolver () const
 
void SetStandaloneSolver (const bool bStandaloneSolver)
 
FPhysSceneLockGetExternalDataLock_External () const
 
CHAOS_API void SetStealAdvanceTasks_ForTesting (bool bInStealAdvanceTasksForTesting)
 
CHAOS_API void PopAndExecuteStolenAdvanceTask_ForTesting ()
 
- Public Member Functions inherited from Chaos::FPhysicsSolverEvents
virtual ~FPhysicsSolverEvents ()
 
CHAOS_API FDelegateHandle AddPreAdvanceCallback (FSolverPreAdvance::FDelegate InDelegate)
 
CHAOS_API bool RemovePreAdvanceCallback (FDelegateHandle InHandle)
 
CHAOS_API FDelegateHandle AddPreBufferCallback (FSolverPreAdvance::FDelegate InDelegate)
 
CHAOS_API bool RemovePreBufferCallback (FDelegateHandle InHandle)
 
CHAOS_API FDelegateHandle AddPostAdvanceCallback (FSolverPostAdvance::FDelegate InDelegate)
 
CHAOS_API bool RemovePostAdvanceCallback (FDelegateHandle InHandle)
 
CHAOS_API FDelegateHandle AddTeardownCallback (FSolverTeardown::FDelegate InDelegate)
 
CHAOS_API bool RemoveTeardownCallback (FDelegateHandle InHandle)
 
void ClearCallbacks ()
 

Public Attributes

voidPhysSceneHack
 

Friends

class FPersistentPhysicsTask
 
class ::FChaosSolversModule
 
template<EThreadingMode Mode>
class FDispatcher
 
class FEventDefaults
 
class FPhysInterface_Chaos
 
class FPhysScene_ChaosInterface
 
class FPBDRigidDirtyParticlesBuffer
 
template<typename TSolver >
void ChaosTest::AdvanceSolverNoPushHelper (TSolver *Solver, FReal Dt)
 

Additional Inherited Members

- Static Public Member Functions inherited from Chaos::FPhysicsSolverBase
static bool CanDebugNetworkPhysicsPrediction ()
 
static bool IsNetworkPhysicsPredictionEnabled ()
 
static float GetPhysicsHistoryTimeLength ()
 
static int32 GetPhysicsHistoryCount ()
 
static float ResimulationErrorThreshold ()
 
static bool GetResimulationErrorPositionThresholdEnabled ()
 
static float GetResimulationErrorPositionThreshold ()
 
static bool GetResimulationErrorRotationThresholdEnabled ()
 
static float GetResimulationErrorRotationThreshold ()
 
static bool GetResimulationErrorLinearVelocityThresholdEnabled ()
 
static float GetResimulationErrorLinearVelocityThreshold ()
 
static bool GetResimulationErrorAngularVelocityThresholdEnabled ()
 
static float GetResimulationErrorAngularVelocityThreshold ()
 
static float NetworkPhysicsInterpolationLerp ()
 
- Protected Member Functions inherited from Chaos::FPhysicsSolverBase
CHAOS_API FPhysicsSolverBase (const EMultiBufferMode BufferingModeIn, const EThreadingModeTemp InThreadingMode, UObject *InOwner, FReal AsyncDt)
 
virtual CHAOS_API ~FPhysicsSolverBase ()
 
 FPhysicsSolverBase ()=delete
 
 FPhysicsSolverBase (const FPhysicsSolverBase &InCopy)=delete
 
 FPhysicsSolverBase (FPhysicsSolverBase &&InSteal)=delete
 
FPhysicsSolverBaseoperator= (const FPhysicsSolverBase &InCopy)=delete
 
FPhysicsSolverBaseoperator= (FPhysicsSolverBase &&InSteal)=delete
 
CHAOS_API void TrackGTParticle_External (FGeometryParticle &Particle)
 
CHAOS_API void ClearGTParticle_External (FGeometryParticle &Particle)
 
- Static Protected Member Functions inherited from Chaos::FPhysicsSolverBase
static CHAOS_API void DestroySolver (FPhysicsSolverBase &InSolver)
 
- Protected Attributes inherited from Chaos::FPhysicsSolverBase
bool bIsStandaloneSolver = false
 
EMultiBufferMode BufferMode
 
EThreadingModeTemp ThreadingMode
 
FChaosMarshallingManager MarshallingManager
 
TUniquePtr< FChaosResultsManagerPullResultsManager
 
TUniquePtr< FPendingSpatialDataQueuePendingSpatialOperations_External
 
TArray< ISimCallbackObject * > SimCallbackObjects
 
TArray< ISimCallbackObject * > MidPhaseModifiers
 
TArray< ISimCallbackObject * > CCDModifiers
 
TArray< ISimCallbackObject * > StrainModifiers
 
TArray< ISimCallbackObject * > ContactModifiers
 
TArray< ISimCallbackObject * > RegistrationWatchers
 
TArray< ISimCallbackObject * > UnregistrationWatchers
 
TArray< ISimCallbackObject * > PhysicsObjectUnregistrationWatchers
 
TUniquePtr< FRewindDataMRewindData
 
TUniquePtr< IRewindCallbackMRewindCallback
 
FPhysicsReplicationAsyncPhysicsReplication_DEPRECATED
 
IPhysicsReplicationAsyncPhysicsReplicationAsync
 
IPhysicsReplicationLODAsyncPhysicsReplicationLODAsync
 
bool bUseCollisionResimCache
 
FGraphEventRef PendingTasks
 
bool bSolverHasFrozenGameThreadCallbacks = false
 
bool bGameThreadFrozen = false
 
FReal MLastDt = FReal(0)
 
FReal MTime = FReal(0)
 
- Protected Attributes inherited from Chaos::FPhysicsSolverEvents
FSolverPreAdvance EventPreSolve
 
FSolverPreBuffer EventPreBuffer
 
FSolverPostAdvance EventPostSolve
 
FSolverTeardown EventTeardown
 

Member Typedef Documentation

◆ FDirtyParticlesBuffer

◆ FHandle

◆ FJointConstraints

◆ FParticle

◆ FParticlesType

◆ FPBDRigidsEvolution

◆ FPositionConstraints

◆ FRigidDynamicSpringConstraints

◆ Super

Member Function Documentation

◆ ApplyCallbacks_Internal()

void Chaos::FPBDRigidsSolver::ApplyCallbacks_Internal ( )
overridevirtual

Reimplemented from Chaos::FPhysicsSolverBase.

◆ ApplyConfig()

void Chaos::FPBDRigidsSolver::ApplyConfig ( const FChaosSolverConfiguration InConfig)

Apply a solver configuration to this solver, set externally by the owner of a solver (see UPhysicsSettings for world solver settings)

◆ AreAnyTasksPending()

virtual bool Chaos::FPBDRigidsSolver::AreAnyTasksPending ( ) const
inlineoverridevirtual

Reimplemented from Chaos::FPhysicsSolverBase.

◆ BeginDestroy()

void Chaos::FPBDRigidsSolver::BeginDestroy ( )

◆ ChangeBufferMode()

void Chaos::FPBDRigidsSolver::ChangeBufferMode ( Chaos::EMultiBufferMode  InBufferMode)

◆ CompleteSceneSimulation()

void Chaos::FPBDRigidsSolver::CompleteSceneSimulation ( )

◆ CreateMaterial()

void Chaos::FPBDRigidsSolver::CreateMaterial ( Chaos::FMaterialHandle  InHandle,
const Chaos::FChaosPhysicsMaterial InNewData 
)

◆ CreateMaterialMask()

void Chaos::FPBDRigidsSolver::CreateMaterialMask ( Chaos::FMaterialMaskHandle  InHandle,
const Chaos::FChaosPhysicsMaterialMask InNewData 
)

◆ DestroyMaterial()

void Chaos::FPBDRigidsSolver::DestroyMaterial ( Chaos::FMaterialHandle  InHandle)

◆ DestroyMaterialMask()

void Chaos::FPBDRigidsSolver::DestroyMaterialMask ( Chaos::FMaterialMaskHandle  InHandle)

◆ EnableRewindCapture() [1/4]

void Chaos::FPBDRigidsSolver::EnableRewindCapture ( )

◆ EnableRewindCapture() [2/4]

void Chaos::FPBDRigidsSolver::EnableRewindCapture ( int32  NumFrames)

◆ EnableRewindCapture() [3/4]

void Chaos::FPBDRigidsSolver::EnableRewindCapture ( int32  NumFrames,
bool  InUseCollisionResimCache 
)

◆ EnableRewindCapture() [4/4]

void Chaos::FPBDRigidsSolver::EnableRewindCapture ( int32  NumFrames,
bool  InUseCollisionResimCache,
TUniquePtr< IRewindCallback > &&  RewindCallback 
)

◆ FieldForcesUpdateCallback()

void Chaos::FPBDRigidsSolver::FieldForcesUpdateCallback ( )

Update the particles forces based on field evaluation

◆ FieldParameterUpdateCallback()

void Chaos::FPBDRigidsSolver::FieldParameterUpdateCallback ( Chaos::FPBDPositionConstraints PositionTarget,
TMap< int32, int32 > &  TargetedParticles 
)

Update the particles parameters based on field evaluation

◆ FinalizeRewindData()

void Chaos::FPBDRigidsSolver::FinalizeRewindData ( const TParticleView< FPBDRigidParticles > &  DirtyParticles)
inline

◆ FlipEventManagerBuffer()

virtual void Chaos::FPBDRigidsSolver::FlipEventManagerBuffer ( )
inlinevirtual

Reimplemented from Chaos::FPhysicsSolverBase.

◆ GetCharacterGroundConstraints() [1/2]

FCharacterGroundConstraintContainer & Chaos::FPBDRigidsSolver::GetCharacterGroundConstraints ( )
inline

◆ GetCharacterGroundConstraints() [2/2]

const FCharacterGroundConstraintContainer & Chaos::FPBDRigidsSolver::GetCharacterGroundConstraints ( ) const
inline

◆ GetCurrentFrame()

int32 & Chaos::FPBDRigidsSolver::GetCurrentFrame ( )
inline

◆ GetDirtyParticlesBuffer()

FDirtyParticlesBuffer * Chaos::FPBDRigidsSolver::GetDirtyParticlesBuffer ( ) const
inline

◆ GetEventFilters() [1/2]

FSolverEventFilters * Chaos::FPBDRigidsSolver::GetEventFilters ( )
inline

◆ GetEventFilters() [2/2]

FSolverEventFilters * Chaos::FPBDRigidsSolver::GetEventFilters ( ) const
inline

◆ GetEventManager()

FEventManager * Chaos::FPBDRigidsSolver::GetEventManager ( )
inline

◆ GetEvolution() [1/2]

FPBDRigidsEvolution * Chaos::FPBDRigidsSolver::GetEvolution ( )
inline

◆ GetEvolution() [2/2]

FPBDRigidsEvolution * Chaos::FPBDRigidsSolver::GetEvolution ( ) const
inline

◆ GetGeometryCollectionPhysicsProxies_Internal()

TArray< FGeometryCollectionPhysicsProxy * > & Chaos::FPBDRigidsSolver::GetGeometryCollectionPhysicsProxies_Internal ( )
inline

◆ GetGeometryCollectionPhysicsProxiesField_Internal()

TArray< FGeometryCollectionPhysicsProxy * > & Chaos::FPBDRigidsSolver::GetGeometryCollectionPhysicsProxiesField_Internal ( )
inline

◆ GetInternalAccelerationStructure_Internal()

const ISpatialAccelerationCollection< FAccelerationStructureHandle, FReal, 3 > * Chaos::FPBDRigidsSolver::GetInternalAccelerationStructure_Internal ( ) const
inline

◆ GetJointCombinedConstraints() [1/2]

FJointConstraints & Chaos::FPBDRigidsSolver::GetJointCombinedConstraints ( )
inline

◆ GetJointCombinedConstraints() [2/2]

const FJointConstraints & Chaos::FPBDRigidsSolver::GetJointCombinedConstraints ( ) const
inline

◆ GetJointConstraintPhysicsProxies_Internal()

const TArray< FJointConstraintPhysicsProxy * > & Chaos::FPBDRigidsSolver::GetJointConstraintPhysicsProxies_Internal ( ) const
inline

◆ GetJointConstraints() [1/2]

FPBDJointConstraints & Chaos::FPBDRigidsSolver::GetJointConstraints ( )
inline

◆ GetJointConstraints() [2/2]

const FPBDJointConstraints & Chaos::FPBDRigidsSolver::GetJointConstraints ( ) const
inline

◆ GetParticleProxy_PT() [1/4]

FSingleParticlePhysicsProxy * Chaos::FPBDRigidsSolver::GetParticleProxy_PT ( const FGeometryParticleHandle Handle)

◆ GetParticleProxy_PT() [2/4]

const FSingleParticlePhysicsProxy * Chaos::FPBDRigidsSolver::GetParticleProxy_PT ( const FGeometryParticleHandle Handle) const

◆ GetParticleProxy_PT() [3/4]

FSingleParticlePhysicsProxy * Chaos::FPBDRigidsSolver::GetParticleProxy_PT ( const FUniqueIdx Idx)

◆ GetParticleProxy_PT() [4/4]

const FSingleParticlePhysicsProxy * Chaos::FPBDRigidsSolver::GetParticleProxy_PT ( const FUniqueIdx Idx) const

◆ GetParticles() [1/2]

FParticlesType & Chaos::FPBDRigidsSolver::GetParticles ( )
inline

◆ GetParticles() [2/2]

const FParticlesType & Chaos::FPBDRigidsSolver::GetParticles ( ) const
inline

◆ GetPerSolverField() [1/2]

FPerSolverFieldSystem & Chaos::FPBDRigidsSolver::GetPerSolverField ( )
inline

◆ GetPerSolverField() [2/2]

const FPerSolverFieldSystem & Chaos::FPBDRigidsSolver::GetPerSolverField ( ) const
inline

◆ GetQueryMaterialMasks_External()

const THandleArray< FChaosPhysicsMaterialMask > & Chaos::FPBDRigidsSolver::GetQueryMaterialMasks_External ( ) const
inline

◆ GetQueryMaterials_External()

const THandleArray< FChaosPhysicsMaterial > & Chaos::FPBDRigidsSolver::GetQueryMaterials_External ( ) const
inline

Access to the internal material mirrors

◆ GetSerializer()

FSolverSerializer & Chaos::FPBDRigidsSolver::GetSerializer ( )

◆ GetSimMaterialMasks()

const THandleArray< FChaosPhysicsMaterialMask > & Chaos::FPBDRigidsSolver::GetSimMaterialMasks ( ) const
inline

◆ GetSimMaterials()

const THandleArray< FChaosPhysicsMaterial > & Chaos::FPBDRigidsSolver::GetSimMaterials ( ) const
inline

◆ GetSuspensionConstraints() [1/2]

FPBDSuspensionConstraints & Chaos::FPBDRigidsSolver::GetSuspensionConstraints ( )
inline

◆ GetSuspensionConstraints() [2/2]

const FPBDSuspensionConstraints & Chaos::FPBDRigidsSolver::GetSuspensionConstraints ( ) const
inline

◆ IsDetemerministic()

bool Chaos::FPBDRigidsSolver::IsDetemerministic ( ) const

True if the simulation is running in deterministic mode This will be true if determinism is explicitly requested (via SetIsDeterministic()) or if required by some other system like Rewind/Resim support.

◆ KillSafeAsyncTasks()

virtual void Chaos::FPBDRigidsSolver::KillSafeAsyncTasks ( )
inlineoverridevirtual

Reimplemented from Chaos::FPhysicsSolverBase.

◆ NumCollisionConstraints()

int32 Chaos::FPBDRigidsSolver::NumCollisionConstraints ( ) const

◆ NumJointConstraints()

int32 Chaos::FPBDRigidsSolver::NumJointConstraints ( ) const

◆ OnEvolutionPostIntegrate()

void Chaos::FPBDRigidsSolver::OnEvolutionPostIntegrate ( FReal  Dt)

◆ OnEvolutionPreIntegrate()

void Chaos::FPBDRigidsSolver::OnEvolutionPreIntegrate ( FReal  Dt)

◆ PostEvolutionVDBPush()

void Chaos::FPBDRigidsSolver::PostEvolutionVDBPush ( ) const
inline

◆ PostTickDebugDraw()

void Chaos::FPBDRigidsSolver::PostTickDebugDraw ( FReal  Dt) const

◆ PreIntegrateDebugDraw()

void Chaos::FPBDRigidsSolver::PreIntegrateDebugDraw ( FReal  Dt) const

◆ PreSolveDebugDraw()

void Chaos::FPBDRigidsSolver::PreSolveDebugDraw ( FReal  Dt) const

◆ RegisterObject() [1/6]

void Chaos::FPBDRigidsSolver::RegisterObject ( Chaos::FCharacterGroundConstraint GTConstraint)

◆ RegisterObject() [2/6]

void Chaos::FPBDRigidsSolver::RegisterObject ( Chaos::FJointConstraint GTConstraint)

◆ RegisterObject() [3/6]

void Chaos::FPBDRigidsSolver::RegisterObject ( Chaos::FSuspensionConstraint GTConstraint)

◆ RegisterObject() [4/6]

void Chaos::FPBDRigidsSolver::RegisterObject ( FClusterUnionPhysicsProxy Proxy)

◆ RegisterObject() [5/6]

void Chaos::FPBDRigidsSolver::RegisterObject ( FGeometryCollectionPhysicsProxy InProxy)

◆ RegisterObject() [6/6]

void Chaos::FPBDRigidsSolver::RegisterObject ( FSingleParticlePhysicsProxy Proxy)

◆ Reset()

void Chaos::FPBDRigidsSolver::Reset ( )

◆ ResetStatCounters()

void Chaos::FPBDRigidsSolver::ResetStatCounters ( )

◆ RewindUsesCollisionResimCache()

bool Chaos::FPBDRigidsSolver::RewindUsesCollisionResimCache ( ) const
inline

◆ SetBreakingFilterSettings()

void Chaos::FPBDRigidsSolver::SetBreakingFilterSettings ( const FSolverBreakingFilterSettings InBreakingFilterSettings)
inline

◆ SetCollisionCullDistance()

void Chaos::FPBDRigidsSolver::SetCollisionCullDistance ( const FReal  InCullDistance)
inline

◆ SetCollisionDepenetrationVelocity()

void Chaos::FPBDRigidsSolver::SetCollisionDepenetrationVelocity ( const FRealSingle  InVelocity)
inline

◆ SetCollisionFilterSettings()

void Chaos::FPBDRigidsSolver::SetCollisionFilterSettings ( const FSolverCollisionFilterSettings InCollisionFilterSettings)
inline

◆ SetCollisionMaxPushOutVelocity()

void Chaos::FPBDRigidsSolver::SetCollisionMaxPushOutVelocity ( const FReal  InMaxPushOutVelocity)
inline

◆ SetCurrentFrame()

void Chaos::FPBDRigidsSolver::SetCurrentFrame ( const int32  CurrentFrameIn)
inline

◆ SetDebugDrawScene()

virtual CHAOS_API void Chaos::FPBDRigidsSolver::SetDebugDrawScene ( const ChaosDD::Private::FChaosDDScenePtr &  InCDDScene)
finaloverridevirtual

◆ SetGenerateBreakingData()

void Chaos::FPBDRigidsSolver::SetGenerateBreakingData ( bool  bDoGenerate)
inline

◆ SetGenerateCollisionData()

void Chaos::FPBDRigidsSolver::SetGenerateCollisionData ( bool  bDoGenerate)
inline

◆ SetGenerateRemovalData()

void Chaos::FPBDRigidsSolver::SetGenerateRemovalData ( bool  bDoGenerate)
inline

◆ SetGenerateTrailingData()

void Chaos::FPBDRigidsSolver::SetGenerateTrailingData ( bool  bDoGenerate)
inline

◆ SetIsDeterministic()

void Chaos::FPBDRigidsSolver::SetIsDeterministic ( const bool  bInIsDeterministic)

Request that the sim be deterministic (or not)

Note
Even if set to false, the sim may still be deterministic if some other feature is enabled and requires it.
See also
IsDetemerministic()

◆ SetParticleDynamicMisc()

void Chaos::FPBDRigidsSolver::SetParticleDynamicMisc ( FPBDRigidParticleHandle Rigid,
const FParticleDynamicMisc DynamicMisc 
)

◆ SetPositionIterations()

void Chaos::FPBDRigidsSolver::SetPositionIterations ( const int32  InNumIterations)
inline

◆ SetProjectionIterations()

void Chaos::FPBDRigidsSolver::SetProjectionIterations ( const int32  InNumIterations)
inline

◆ SetRemovalFilterSettings()

void Chaos::FPBDRigidsSolver::SetRemovalFilterSettings ( const FSolverRemovalFilterSettings InRemovalFilterSettings)
inline

◆ SetSuspensionTarget()

void Chaos::FPBDRigidsSolver::SetSuspensionTarget ( Chaos::FSuspensionConstraint GTConstraint,
const FVector TargetPos,
const FVector Normal,
bool  Enabled 
)

◆ SetTrailingFilterSettings()

void Chaos::FPBDRigidsSolver::SetTrailingFilterSettings ( const FSolverTrailingFilterSettings InTrailingFilterSettings)
inline

◆ SetVelocityBoundsExpansion()

void Chaos::FPBDRigidsSolver::SetVelocityBoundsExpansion ( const FReal  BoundsVelocityMultiplier,
const FReal  MaxBoundsVelocityExpansion 
)

◆ SetVelocityBoundsExpansionMACD()

void Chaos::FPBDRigidsSolver::SetVelocityBoundsExpansionMACD ( const FReal  BoundsVelocityMultiplier,
const FReal  MaxBoundsVelocityExpansion 
)

◆ SetVelocityIterations()

void Chaos::FPBDRigidsSolver::SetVelocityIterations ( const int32  InNumIterations)
inline

◆ StartingSceneSimulation()

void Chaos::FPBDRigidsSolver::StartingSceneSimulation ( )

◆ SyncEvents_GameThread()

void Chaos::FPBDRigidsSolver::SyncEvents_GameThread ( )

◆ SyncQueryMaterials_External()

void Chaos::FPBDRigidsSolver::SyncQueryMaterials_External ( )

Copy the simulation material list to the query material list, to be done when the SQ commits an update

◆ UnregisterObject() [1/6]

void Chaos::FPBDRigidsSolver::UnregisterObject ( Chaos::FCharacterGroundConstraint GTConstraint)

◆ UnregisterObject() [2/6]

void Chaos::FPBDRigidsSolver::UnregisterObject ( Chaos::FJointConstraint GTConstraint)

◆ UnregisterObject() [3/6]

void Chaos::FPBDRigidsSolver::UnregisterObject ( Chaos::FSuspensionConstraint GTConstraint)

◆ UnregisterObject() [4/6]

void Chaos::FPBDRigidsSolver::UnregisterObject ( FClusterUnionPhysicsProxy Proxy)

◆ UnregisterObject() [5/6]

void Chaos::FPBDRigidsSolver::UnregisterObject ( FGeometryCollectionPhysicsProxy InProxy)

◆ UnregisterObject() [6/6]

void Chaos::FPBDRigidsSolver::UnregisterObject ( FSingleParticlePhysicsProxy Proxy)

◆ UpdateExpensiveStatCounters()

void Chaos::FPBDRigidsSolver::UpdateExpensiveStatCounters ( ) const

◆ UpdateExternalAccelerationStructure_External()

void Chaos::FPBDRigidsSolver::UpdateExternalAccelerationStructure_External ( ISpatialAccelerationCollection< FAccelerationStructureHandle, FReal, 3 > *&  ExternalStructure)

◆ UpdateGameThreadStructures()

void Chaos::FPBDRigidsSolver::UpdateGameThreadStructures ( )

◆ UpdateMaterial()

void Chaos::FPBDRigidsSolver::UpdateMaterial ( Chaos::FMaterialHandle  InHandle,
const Chaos::FChaosPhysicsMaterial InNewData 
)

Events hooked up to the Chaos material manager

◆ UpdateMaterialMask()

void Chaos::FPBDRigidsSolver::UpdateMaterialMask ( Chaos::FMaterialMaskHandle  InHandle,
const Chaos::FChaosPhysicsMaterialMask InNewData 
)

◆ UpdateStatCounters()

void Chaos::FPBDRigidsSolver::UpdateStatCounters ( ) const

Friends And Related Symbol Documentation

◆ ::FChaosSolversModule

◆ ChaosTest::AdvanceSolverNoPushHelper

template<typename TSolver >
void ChaosTest::AdvanceSolverNoPushHelper ( TSolver Solver,
FReal  Dt 
)
friend

◆ FDispatcher

template<EThreadingMode Mode>
friend class FDispatcher
friend

◆ FEventDefaults

friend class FEventDefaults
friend

◆ FPBDRigidDirtyParticlesBuffer

◆ FPersistentPhysicsTask

friend class FPersistentPhysicsTask
friend

◆ FPhysInterface_Chaos

◆ FPhysScene_ChaosInterface

friend class FPhysScene_ChaosInterface
friend

Member Data Documentation

◆ PhysSceneHack

void* Chaos::FPBDRigidsSolver::PhysSceneHack

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