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

#include <SingleParticlePhysicsProxy.h>

+ Inheritance diagram for Chaos::FSingleParticlePhysicsProxy:

Public Types

using PARTICLE_TYPE = FGeometryParticle
 
using FParticleHandle = FGeometryParticleHandle
 

Public Member Functions

 FSingleParticlePhysicsProxy ()=delete
 
 FSingleParticlePhysicsProxy (const FSingleParticlePhysicsProxy &)=delete
 
 FSingleParticlePhysicsProxy (FSingleParticlePhysicsProxy &&)=delete
 
virtual CHAOS_API ~FSingleParticlePhysicsProxy ()
 
FProxyInterpolationBaseGetInterpolationData ()
 
const FProxyInterpolationBaseGetInterpolationData () const
 
FORCEINLINE FRigidBodyHandle_ExternalGetGameThreadAPI ()
 
FORCEINLINE const FRigidBodyHandle_ExternalGetGameThreadAPI () const
 
FORCEINLINE FRigidBodyHandle_InternalGetPhysicsThreadAPI ()
 
FORCEINLINE const FRigidBodyHandle_InternalGetPhysicsThreadAPI () const
 
FParticleHandleGetHandle_LowLevel ()
 
const FParticleHandleGetHandle_LowLevel () const
 
virtual voidGetHandleUnsafe () const override
 
void SetHandle (FParticleHandle *InHandle)
 
CHAOS_API void PushToPhysicsState (const FDirtyPropertiesManager &Manager, int32 DataIdx, const FDirtyProxy &Dirty, FShapeDirtyData *ShapesData, FReal ExternalDt)
 
CHAOS_API void ClearAccumulatedData ()
 
CHAOS_API void BufferPhysicsResults (FDirtyRigidParticleData &)
 
CHAOS_API void BufferPhysicsResults_External (FDirtyRigidParticleData &)
 
CHAOS_API bool PullFromPhysicsState (const FDirtyRigidParticleData &PullData, int32 SolverSyncTimestamp, const FDirtyRigidParticleData *NextPullData=nullptr, const FRealSingle *Alpha=nullptr, const FDirtyRigidParticleReplicationErrorData *Error=nullptr, const Chaos::FReal AsyncFixedTimeStep=0)
 
CHAOS_API bool IsDirty ()
 
CHAOS_API EWakeEventEntry GetWakeEvent () const
 
CHAOS_API void ClearEvents ()
 
PARTICLE_TYPEGetParticle_LowLevel ()
 
const PARTICLE_TYPEGetParticle_LowLevel () const
 
FPBDRigidParticleGetRigidParticleUnsafe ()
 
const FPBDRigidParticleGetRigidParticleUnsafe () const
 
FPhysicsObjectHandle GetPhysicsObject ()
 
const FPhysicsObjectHandle GetPhysicsObject () const
 
template<typename ErrorDataType >
ErrorDataTypeGetOrCreateErrorInterpolationData ()
 
- Public Member Functions inherited from IPhysicsProxyBase
 IPhysicsProxyBase (EPhysicsProxyType InType, UObject *InOwner, TSharedPtr< FProxyTimestampBase, ESPMode::ThreadSafe > InProxyTimeStamp)
 
UObjectGetOwner () const
 
template<class SOLVER_TYPE >
SOLVER_TYPEGetSolver () const
 
Chaos::FPhysicsSolverBaseGetSolverBase () const
 
template<class SOLVER_TYPE = Chaos::FPhysicsSolver>
void SetSolver (SOLVER_TYPE *InSolver)
 
EPhysicsProxyType GetType () const
 
int32 GetDirtyIdx () const
 
void SetDirtyIdx (const int32 Idx)
 
void ResetDirtyIdx ()
 
void MarkDeleted ()
 
bool GetMarkedDeleted () const
 
TSharedPtr< FProxyTimestampBase, ESPMode::ThreadSafeGetSyncTimestamp () const
 
bool IsInitialized () const
 
void SetInitialized (const int32 InitializeStep)
 
int32 GetInitializedStep () const
 
int32 GetIgnoreDataOnStep_Internal () const
 
IPhysicsProxyBaseGetParentProxy () const
 
void SetParentProxy (IPhysicsProxyBase *InProxy)
 

Static Public Member Functions

static FSingleParticlePhysicsProxyCreate (TUniquePtr< FGeometryParticle > &&Particle, UObject *InOwner)
 
- Static Public Member Functions inherited from IPhysicsProxyBase
static float GetRenderInterpErrorCorrectionDuration ()
 
static float GetRenderInterpMaximumErrorCorrectionBeforeSnapping ()
 
static float GetRenderInterpErrorVelocitySmoothingDuration ()
 
static bool GetRenderInterpDebugDraw ()
 
static float GetRenderInterpErrorDirectionalDecayMultiplier ()
 

Protected Attributes

TUniquePtr< PARTICLE_TYPEParticle
 
FParticleHandleHandle
 
FPhysicsObjectUniquePtr Reference
 
int32 GravityGroupIndex
 
- Protected Attributes inherited from IPhysicsProxyBase
Chaos::FPhysicsSolverBaseSolver
 
UObjectOwner
 
EPhysicsProxyType Type
 
int32 InitializedOnStep = INDEX_NONE
 
int32 IgnoreDataOnStep_Internal = INDEX_NONE
 

Additional Inherited Members

- Protected Member Functions inherited from IPhysicsProxyBase
virtual CHAOS_API ~IPhysicsProxyBase ()
 
template<typename TProxyTimeStamp >
FORCEINLINE_DEBUGGABLE TProxyTimeStampGetSyncTimestampAs ()
 
CHAOS_API int32 GetSolverSyncTimestamp_External () const
 

Member Typedef Documentation

◆ FParticleHandle

◆ PARTICLE_TYPE

Constructor & Destructor Documentation

◆ FSingleParticlePhysicsProxy() [1/3]

Chaos::FSingleParticlePhysicsProxy::FSingleParticlePhysicsProxy ( )
delete

◆ FSingleParticlePhysicsProxy() [2/3]

Chaos::FSingleParticlePhysicsProxy::FSingleParticlePhysicsProxy ( const FSingleParticlePhysicsProxy )
delete

◆ FSingleParticlePhysicsProxy() [3/3]

Chaos::FSingleParticlePhysicsProxy::FSingleParticlePhysicsProxy ( FSingleParticlePhysicsProxy &&  )
delete

◆ ~FSingleParticlePhysicsProxy()

Chaos::FSingleParticlePhysicsProxy::~FSingleParticlePhysicsProxy ( )
virtual

Member Function Documentation

◆ BufferPhysicsResults()

void Chaos::FSingleParticlePhysicsProxy::BufferPhysicsResults ( Chaos::FDirtyRigidParticleData PullData)

◆ BufferPhysicsResults_External()

void Chaos::FSingleParticlePhysicsProxy::BufferPhysicsResults_External ( Chaos::FDirtyRigidParticleData PullData)

◆ ClearAccumulatedData()

void Chaos::FSingleParticlePhysicsProxy::ClearAccumulatedData ( )

◆ ClearEvents()

void Chaos::FSingleParticlePhysicsProxy::ClearEvents ( )

◆ Create()

FSingleParticlePhysicsProxy * Chaos::FSingleParticlePhysicsProxy::Create ( TUniquePtr< FGeometryParticle > &&  Particle,
UObject InOwner = nullptr 
)
inlinestatic

◆ GetGameThreadAPI() [1/2]

FORCEINLINE FRigidBodyHandle_External & Chaos::FSingleParticlePhysicsProxy::GetGameThreadAPI ( )
inline

◆ GetGameThreadAPI() [2/2]

FORCEINLINE const FRigidBodyHandle_External & Chaos::FSingleParticlePhysicsProxy::GetGameThreadAPI ( ) const
inline

◆ GetHandle_LowLevel() [1/2]

FParticleHandle * Chaos::FSingleParticlePhysicsProxy::GetHandle_LowLevel ( )
inline

◆ GetHandle_LowLevel() [2/2]

const FParticleHandle * Chaos::FSingleParticlePhysicsProxy::GetHandle_LowLevel ( ) const
inline

◆ GetHandleUnsafe()

virtual void * Chaos::FSingleParticlePhysicsProxy::GetHandleUnsafe ( ) const
inlineoverridevirtual

Reimplemented from IPhysicsProxyBase.

◆ GetInterpolationData() [1/2]

FProxyInterpolationBase * Chaos::FSingleParticlePhysicsProxy::GetInterpolationData ( )
inline

◆ GetInterpolationData() [2/2]

const FProxyInterpolationBase * Chaos::FSingleParticlePhysicsProxy::GetInterpolationData ( ) const
inline

◆ GetOrCreateErrorInterpolationData()

template<typename ErrorDataType >
ErrorDataType * Chaos::FSingleParticlePhysicsProxy::GetOrCreateErrorInterpolationData ( )
inline

Get or create a derived FProxyInterpolationBase that handles render interpolation error corrections

◆ GetParticle_LowLevel() [1/2]

PARTICLE_TYPE * Chaos::FSingleParticlePhysicsProxy::GetParticle_LowLevel ( )
inline

◆ GetParticle_LowLevel() [2/2]

const PARTICLE_TYPE * Chaos::FSingleParticlePhysicsProxy::GetParticle_LowLevel ( ) const
inline

◆ GetPhysicsObject() [1/2]

FPhysicsObjectHandle Chaos::FSingleParticlePhysicsProxy::GetPhysicsObject ( )
inline

◆ GetPhysicsObject() [2/2]

const FPhysicsObjectHandle Chaos::FSingleParticlePhysicsProxy::GetPhysicsObject ( ) const
inline

◆ GetPhysicsThreadAPI() [1/2]

FORCEINLINE FRigidBodyHandle_Internal * Chaos::FSingleParticlePhysicsProxy::GetPhysicsThreadAPI ( )
inline

◆ GetPhysicsThreadAPI() [2/2]

FORCEINLINE const FRigidBodyHandle_Internal * Chaos::FSingleParticlePhysicsProxy::GetPhysicsThreadAPI ( ) const
inline

◆ GetRigidParticleUnsafe() [1/2]

FPBDRigidParticle * Chaos::FSingleParticlePhysicsProxy::GetRigidParticleUnsafe ( )
inline

◆ GetRigidParticleUnsafe() [2/2]

const FPBDRigidParticle * Chaos::FSingleParticlePhysicsProxy::GetRigidParticleUnsafe ( ) const
inline

◆ GetWakeEvent()

Chaos::EWakeEventEntry Chaos::FSingleParticlePhysicsProxy::GetWakeEvent ( ) const

◆ IsDirty()

bool Chaos::FSingleParticlePhysicsProxy::IsDirty ( )

◆ PullFromPhysicsState()

bool Chaos::FSingleParticlePhysicsProxy::PullFromPhysicsState ( const FDirtyRigidParticleData PullData,
int32  SolverSyncTimestamp,
const FDirtyRigidParticleData NextPullData = nullptr,
const FRealSingle Alpha = nullptr,
const FDirtyRigidParticleReplicationErrorData Error = nullptr,
const Chaos::FReal  AsyncFixedTimeStep = 0 
)

◆ PushToPhysicsState()

void Chaos::FSingleParticlePhysicsProxy::PushToPhysicsState ( const FDirtyPropertiesManager Manager,
int32  DataIdx,
const FDirtyProxy Dirty,
Chaos::FShapeDirtyData ShapesData,
Chaos::FReal  ExternalDt 
)

◆ SetHandle()

void Chaos::FSingleParticlePhysicsProxy::SetHandle ( FParticleHandle InHandle)
inline

Member Data Documentation

◆ GravityGroupIndex

int32 Chaos::FSingleParticlePhysicsProxy::GravityGroupIndex
protected

◆ Handle

FParticleHandle* Chaos::FSingleParticlePhysicsProxy::Handle
protected

◆ Particle

TUniquePtr<PARTICLE_TYPE> Chaos::FSingleParticlePhysicsProxy::Particle
protected

◆ Reference

FPhysicsObjectUniquePtr Chaos::FSingleParticlePhysicsProxy::Reference
protected

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