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

#include <ChaosDeformableSolver.h>

+ Inheritance diagram for Chaos::Softs::FDeformableSolver:

Classes

class  FGameThreadAccess
 
class  FPhysicsThreadAccess
 

Public Member Functions

CHAOS_API FDeformableSolver (FDeformableSolverProperties InProp=FDeformableSolverProperties())
 
virtual CHAOS_API ~FDeformableSolver ()
 
- 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 ()
 

Protected Member Functions

void SetEnableSolver (bool InbEnableSolver)
 
bool GetEnableSolver () const
 
CHAOS_API void LoadRestartData ()
 
CHAOS_API void UpdateProxyRestartPackages ()
 
CHAOS_API void UpdateRestartParticlePositions ()
 
int32 GetFrame () const
 
CHAOS_API void UpdateProxyInputPackages ()
 
CHAOS_API void Simulate (FSolverReal DeltaTime)
 
CHAOS_API void AdvanceDt (FSolverReal DeltaTime)
 
CHAOS_API void Reset (const FDeformableSolverProperties &)
 
CHAOS_API void Update (FSolverReal DeltaTime)
 
CHAOS_API void UpdateSimulationObjects (FSolverReal DeltaTime)
 
CHAOS_API void UpdateOutputState (FThreadingProxy &)
 
CHAOS_API void PushOutputPackage (int32 Frame, FDeformableDataMap &&Package)
 
CHAOS_API TUniquePtr< FDeformablePackagePullInputPackage ()
 
CHAOS_API TUniquePtr< FDeformablePackagePullRestartPackage ()
 
CHAOS_API void InitializeSimulationSpace ()
 
CHAOS_API void InitializeSimulationObjects ()
 
CHAOS_API void InitializeSimulationObject (FThreadingProxy &)
 
CHAOS_API void InitializeDeformableParticles (FFleshThreadingProxy &)
 
CHAOS_API void UpdateTransientConstraints ()
 
CHAOS_API void PostProcessTransientConstraints ()
 
CHAOS_API void InitializeKinematicParticles (FFleshThreadingProxy &)
 
CHAOS_API void InitializeTetrahedralOrTriangleConstraint (FFleshThreadingProxy &)
 
CHAOS_API void InitializeGridBasedConstraints (FFleshThreadingProxy &)
 
CHAOS_API void InitializeGaussSeidelConstraints (FFleshThreadingProxy &Proxy)
 
CHAOS_API void InitializeWeakConstraint (FFleshThreadingProxy &)
 
CHAOS_API void InitializeKinematicConstraint ()
 
CHAOS_API void InitializeCollisionBodies (FCollisionManagerProxy &)
 
CHAOS_API void InitializeConstraintBodies (FConstraintManagerProxy &Proxy)
 
CHAOS_API void InitializeSelfCollisionVariables ()
 
CHAOS_API void InitializeGridBasedConstraintVariables ()
 
CHAOS_API void InitializeGaussSeidelConstraintVariables ()
 
CHAOS_API void InitializeMuscleActivationVariables ()
 
CHAOS_API void InitializeMuscleActivation (FFleshThreadingProxy &Proxy)
 
CHAOS_API void UpdateCollisionBodies (FCollisionManagerProxy &, FThreadingProxy::FKey, FSolverReal DeltaTime)
 
CHAOS_API void UpdateConstraintBodies (FConstraintManagerProxy &Proxy, FThreadingProxy::FKey Owner, FSolverReal DeltaTime)
 
CHAOS_API void RemoveSimulationObjects ()
 
CHAOS_API TArray< Chaos::TVec3< FSolverReal > > ComputeParticleTargets (const TArray< TArray< int32 > > &ParticleIndices)
 
CHAOS_API void DebugDrawSimulationData ()
 
CHAOS_API void DebugDrawTetrahedralParticles (FFleshThreadingProxy &Proxy)
 
CHAOS_API void WriteFrame (FThreadingProxy &InProxy, const FSolverReal DeltaTime)
 
CHAOS_API void WriteTrisGEO (const FSolverParticles &Particles, const TArray< TVec3< int32 > > &Mesh)
 
bool HasObject (UObject *InObject) const
 
CHAOS_API void AddProxy (FThreadingProxy *InObject)
 
CHAOS_API void RemoveProxy (FThreadingProxy *InObject)
 
CHAOS_API TUniquePtr< FDeformablePackagePullOutputPackage ()
 
CHAOS_API void PushInputPackage (int32 Frame, FDeformableDataMap &&InPackage)
 
CHAOS_API void PushRestartPackage (int32 InFrame, FDeformableDataMap &&InPackage)
 
const FDeformableSolverPropertiesGetProperties () const
 
void ResetGaussSeidelVariables ()
 

Friends

class FGameThreadAccess
 
class FPhysicsThreadAccess
 

Additional Inherited Members

- Protected Attributes inherited from Chaos::FPhysicsSolverEvents
FSolverPreAdvance EventPreSolve
 
FSolverPreBuffer EventPreBuffer
 
FSolverPostAdvance EventPostSolve
 
FSolverTeardown EventTeardown
 

Constructor & Destructor Documentation

◆ FDeformableSolver()

Chaos::Softs::FDeformableSolver::FDeformableSolver ( FDeformableSolverProperties  InProp = FDeformableSolverProperties())

◆ ~FDeformableSolver()

Chaos::Softs::FDeformableSolver::~FDeformableSolver ( )
virtual

Member Function Documentation

◆ AddProxy()

void Chaos::Softs::FDeformableSolver::AddProxy ( FThreadingProxy InObject)
protected

◆ AdvanceDt()

void Chaos::Softs::FDeformableSolver::AdvanceDt ( FSolverReal  DeltaTime)
protected

◆ ComputeParticleTargets()

CHAOS_API TArray< Chaos::TVec3< FSolverReal > > Chaos::Softs::FDeformableSolver::ComputeParticleTargets ( const TArray< TArray< int32 > > &  ParticleIndices)
protected

◆ DebugDrawSimulationData()

void Chaos::Softs::FDeformableSolver::DebugDrawSimulationData ( )
protected

◆ DebugDrawTetrahedralParticles()

void Chaos::Softs::FDeformableSolver::DebugDrawTetrahedralParticles ( FFleshThreadingProxy Proxy)
protected

◆ GetEnableSolver()

bool Chaos::Softs::FDeformableSolver::GetEnableSolver ( ) const
inlineprotected

◆ GetFrame()

int32 Chaos::Softs::FDeformableSolver::GetFrame ( ) const
inlineprotected

◆ GetProperties()

const FDeformableSolverProperties & Chaos::Softs::FDeformableSolver::GetProperties ( ) const
inlineprotected

◆ HasObject()

bool Chaos::Softs::FDeformableSolver::HasObject ( UObject InObject) const
inlineprotected

◆ InitializeCollisionBodies()

void Chaos::Softs::FDeformableSolver::InitializeCollisionBodies ( FCollisionManagerProxy Proxy)
protected

◆ InitializeConstraintBodies()

void Chaos::Softs::FDeformableSolver::InitializeConstraintBodies ( FConstraintManagerProxy Proxy)
protected

◆ InitializeDeformableParticles()

void Chaos::Softs::FDeformableSolver::InitializeDeformableParticles ( FFleshThreadingProxy Proxy)
protected

◆ InitializeGaussSeidelConstraints()

void Chaos::Softs::FDeformableSolver::InitializeGaussSeidelConstraints ( FFleshThreadingProxy Proxy)
protected

◆ InitializeGaussSeidelConstraintVariables()

void Chaos::Softs::FDeformableSolver::InitializeGaussSeidelConstraintVariables ( )
protected

◆ InitializeGridBasedConstraints()

void Chaos::Softs::FDeformableSolver::InitializeGridBasedConstraints ( FFleshThreadingProxy Proxy)
protected

◆ InitializeGridBasedConstraintVariables()

void Chaos::Softs::FDeformableSolver::InitializeGridBasedConstraintVariables ( )
protected

◆ InitializeKinematicConstraint()

void Chaos::Softs::FDeformableSolver::InitializeKinematicConstraint ( )
protected

◆ InitializeKinematicParticles()

void Chaos::Softs::FDeformableSolver::InitializeKinematicParticles ( FFleshThreadingProxy Proxy)
protected

◆ InitializeMuscleActivation()

void Chaos::Softs::FDeformableSolver::InitializeMuscleActivation ( FFleshThreadingProxy Proxy)
protected

◆ InitializeMuscleActivationVariables()

void Chaos::Softs::FDeformableSolver::InitializeMuscleActivationVariables ( )
protected

◆ InitializeSelfCollisionVariables()

void Chaos::Softs::FDeformableSolver::InitializeSelfCollisionVariables ( )
protected

◆ InitializeSimulationObject()

void Chaos::Softs::FDeformableSolver::InitializeSimulationObject ( FThreadingProxy InProxy)
protected

◆ InitializeSimulationObjects()

void Chaos::Softs::FDeformableSolver::InitializeSimulationObjects ( )
protected

◆ InitializeSimulationSpace()

void Chaos::Softs::FDeformableSolver::InitializeSimulationSpace ( )
protected

◆ InitializeTetrahedralOrTriangleConstraint()

void Chaos::Softs::FDeformableSolver::InitializeTetrahedralOrTriangleConstraint ( FFleshThreadingProxy Proxy)
protected

◆ InitializeWeakConstraint()

void Chaos::Softs::FDeformableSolver::InitializeWeakConstraint ( FFleshThreadingProxy Proxy)
protected

◆ LoadRestartData()

void Chaos::Softs::FDeformableSolver::LoadRestartData ( )
protected

◆ PostProcessTransientConstraints()

void Chaos::Softs::FDeformableSolver::PostProcessTransientConstraints ( )
protected

◆ PullInputPackage()

TUniquePtr< FDeformablePackage > Chaos::Softs::FDeformableSolver::PullInputPackage ( )
protected

◆ PullOutputPackage()

TUniquePtr< FDeformablePackage > Chaos::Softs::FDeformableSolver::PullOutputPackage ( )
protected

◆ PullRestartPackage()

TUniquePtr< FDeformablePackage > Chaos::Softs::FDeformableSolver::PullRestartPackage ( )
protected

◆ PushInputPackage()

void Chaos::Softs::FDeformableSolver::PushInputPackage ( int32  Frame,
FDeformableDataMap &&  InPackage 
)
protected

◆ PushOutputPackage()

void Chaos::Softs::FDeformableSolver::PushOutputPackage ( int32  Frame,
FDeformableDataMap &&  Package 
)
protected

◆ PushRestartPackage()

void Chaos::Softs::FDeformableSolver::PushRestartPackage ( int32  InFrame,
FDeformableDataMap &&  InPackage 
)
protected

◆ RemoveProxy()

void Chaos::Softs::FDeformableSolver::RemoveProxy ( FThreadingProxy InObject)
protected

◆ RemoveSimulationObjects()

void Chaos::Softs::FDeformableSolver::RemoveSimulationObjects ( )
protected

◆ Reset()

void Chaos::Softs::FDeformableSolver::Reset ( const FDeformableSolverProperties InProps)
protected

◆ ResetGaussSeidelVariables()

void Chaos::Softs::FDeformableSolver::ResetGaussSeidelVariables ( )
protected

◆ SetEnableSolver()

void Chaos::Softs::FDeformableSolver::SetEnableSolver ( bool  InbEnableSolver)
inlineprotected

◆ Simulate()

void Chaos::Softs::FDeformableSolver::Simulate ( FSolverReal  DeltaTime)
protected

◆ Update()

void Chaos::Softs::FDeformableSolver::Update ( FSolverReal  DeltaTime)
protected

◆ UpdateCollisionBodies()

void Chaos::Softs::FDeformableSolver::UpdateCollisionBodies ( FCollisionManagerProxy Proxy,
FThreadingProxy::FKey  Owner,
FSolverReal  DeltaTime 
)
protected

◆ UpdateConstraintBodies()

void Chaos::Softs::FDeformableSolver::UpdateConstraintBodies ( FConstraintManagerProxy Proxy,
FThreadingProxy::FKey  Owner,
FSolverReal  DeltaTime 
)
protected

◆ UpdateOutputState()

void Chaos::Softs::FDeformableSolver::UpdateOutputState ( FThreadingProxy InProxy)
protected

◆ UpdateProxyInputPackages()

void Chaos::Softs::FDeformableSolver::UpdateProxyInputPackages ( )
protected

◆ UpdateProxyRestartPackages()

void Chaos::Softs::FDeformableSolver::UpdateProxyRestartPackages ( )
protected

◆ UpdateRestartParticlePositions()

void Chaos::Softs::FDeformableSolver::UpdateRestartParticlePositions ( )
protected

◆ UpdateSimulationObjects()

void Chaos::Softs::FDeformableSolver::UpdateSimulationObjects ( FSolverReal  DeltaTime)
protected

◆ UpdateTransientConstraints()

void Chaos::Softs::FDeformableSolver::UpdateTransientConstraints ( )
protected

◆ WriteFrame()

void Chaos::Softs::FDeformableSolver::WriteFrame ( FThreadingProxy InProxy,
const FSolverReal  DeltaTime 
)
protected

◆ WriteTrisGEO()

void Chaos::Softs::FDeformableSolver::WriteTrisGEO ( const FSolverParticles Particles,
const TArray< TVec3< int32 > > &  Mesh 
)
protected

Friends And Related Symbol Documentation

◆ FGameThreadAccess

◆ FPhysicsThreadAccess


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