FPBDRigidsSolver

Windows
MacOS
Linux

Inheritance Hierarchy

FPhysicsSolverBase

FPBDRigidsSolver

References

Module

ChaosSolvers

Header

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

Include

#include "PBDRigidsSolver.h"

Syntax

class FPBDRigidsSolver : public Chaos::FPhysicsSolverBase

Variables

Constructors

No constructors are accessible with public or protected access.

Destructors

Name Description

Public function

~FPBDRigidsSolver()

#BGTODO ensure no external callers directly deleting, make private and push everything through DestroySolver.

Functions

Name Description

Public function

void

 

AddParticleToProxy

(
    const Chaos::TGeometryParticleHandl...,
    IPhysicsProxyBase* Proxy
)

Public function

void

 

AdvanceSolverBy

(
    float DeltaTime
)

Public function

void

 

BufferPhysicsResults()

Public function

void

 

ChangeBufferMode

(
    Chaos::EMultiBufferMode InBufferMod...
)

Execution API

Public function

void

 

CreateMaterial

(
    Chaos::FMaterialHandle InHandle,
    const Chaos::FChaosPhysicsMaterial ...
)

Public function

void

 

CreateMaterialMask

(
    Chaos::FMaterialMaskHandle InHandle,
    const Chaos::FChaosPhysicsMaterialM...
)

Public function

void

 

DestroyMaterial

(
    Chaos::FMaterialHandle InHandle
)

Public function

void

 

DestroyMaterialMask

(
    Chaos::FMaterialMaskHandle InHandle
)

Public function Const

bool

 

Enabled()

Simulation API

Public function

void

 

FlipBuffers()

Public function

void

 

ForEachPhysicsProxy

(
    Lambda InCallable
)

Public function

void

 

ForEachPhysicsProxyParallel

(
    Lambda InCallable
)

Public function Const

FActiveParti...

 

GetActiveParticlesBuffer()

Public function

TQueue< TFun...

 

GetCommandQueue()

Public function

int32 &

 

GetCurrentFrame()

Public function Const

FSolverEvent...

 

GetEventFilters()

Public function

FSolverEvent...

 

GetEventFilters()

Public function

FEventManage...

 

GetEventManager()

Public function

FPBDRigidsEv...

 

GetEvolution()

Public function Const

FPBDRigidsEv...

 

GetEvolution()

Public function

TArray< FFie...

 

GetFieldSystemPhysicsProxies()

Public function

TArray< FGeo...

 

GetGeometryCollectionPhysicsProxies()

Public function Const

float

 

GetLastDt()

Public function Const

float

 

GetMaxDeltaTime()

Public function Const

int32

 

GetMaxSubSteps()

Public function Const

float

 

GetMinDeltaTime()

Public function Const

int32

 

GetNumPhysicsProxies()

Public function

FParticlesTy...

 

GetParticles()

Public function Const

const FParti...

 

GetParticles()

Public function Const

const TSet< ...

 

GetProxies

(
    const Chaos::TGeometryParticleHandl...
)

Public function Const

const THandl...

 

GetQueryMaterialMasks()

Public function Const

const THandl...

 

GetQueryMaterials()

Access to the internal material mirrors

Public function Const

const THandl...

 

GetSimMaterialMasks()

Public function Const

const THandl...

 

GetSimMaterials()

Public function

float &

 

GetSolverTime()

Public function Const

const float

 

GetSolverTime()

Public function Const

bool

 

HasActiveParticles()

Public function Const

bool

 

HasPendingCommands()

Public function Const

bool

 

IsSimulating()

Public function Const

void

 

PostTickDebugDraw()

Public function

void

 

PushPhysicsState

(
    IDispatcher* Dispatcher
)

Public function

void

 

PushPhysicsStatePooled

(
    IDispatcher* Dispatcher
)

Public function

void

 

RegisterObject

(
    FFieldSystemPhysicsProxy* InPr...
)

Public function

void

 

RegisterObject

TODO: Set up an interface for registering fields and geometry collections.

Public function

void

 

RegisterObject

(
    Chaos::TGeometryParticle< float, 3 ...
)

Object API

Public function

void

 

RemoveParticleToProxy

(
    const Chaos::TGeometryParticleHandl...
)

Public function

void

 

Reset()

Public function

void

 

SetBreakingFilterSettings

(
    const FSolverBreakingFilterSettings...
)

Public function

void

 

SetCollisionFilterSettings

(
    const FSolverCollisionFilterSetting...
)

Public function

void

 

SetCurrentFrame

(
    const int32 CurrentFrameIn
)

Public function

void

 

SetEnabled

(
    bool bEnabledIn
)

Public function

void

 

SetGenerateBreakingData

(
    bool bDoGenerate
)

Public function

void

 

SetGenerateCollisionData

(
    bool bDoGenerate
)

Public function

void

 

SetGenerateTrailingData

(
    bool bDoGenerate
)

Public function

void

 

SetIterations

(
    const int32 InNumIterations
)

Public function

void

 

SetMaxDeltaTime

(
    const float InMaxDeltaTime
)

Public function

void

 

SetMaxSubSteps

(
    const int32 InMaxSubSteps
)

Public function

void

 

SetPushOutIterations

(
    const int32 InNumIterations
)

Public function

void

 

SetPushOutPairIterations

(
    const int32 InNumIterations
)

Public function

void

 

SetTrailingFilterSettings

(
    const FSolverTrailingFilterSettings...
)

Public function

void

 

SetUseContactGraph

(
    const bool bInUseContactGraph
)

Public function

void

 

SyncEvents_GameThread()

Public function

void

 

SyncQueryMaterials()

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

Public function

bool

 

UnregisterObject

Public function

void

 

UnregisterObject

(
    Chaos::TGeometryParticle< float, 3 ...
)

Public function

bool

 

UnregisterObject

(
    FFieldSystemPhysicsProxy* InPr...
)

Public function

void

 

UpdateGameThreadStructures()

Public function

void

 

UpdateMaterial

(
    Chaos::FMaterialHandle InHandle,
    const Chaos::FChaosPhysicsMaterial ...
)

Events hooked up to the Chaos material manager

Public function

void

 

UpdateMaterialMask

(
    Chaos::FMaterialMaskHandle InHandle,
    const Chaos::FChaosPhysicsMaterialM...
)

Classes

Name

Description

Public class

TFramePool

Typedefs

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