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

#include <StaticMeshPhysicsProxy.h>

+ Inheritance diagram for FStaticMeshPhysicsProxy:

Classes

struct  FShapeParams
 
struct  Params
 

Public Types

using FCallbackInitFunc = TFunction< void(FStaticMeshPhysicsProxy::Params &)>
 
using FSyncDynamicFunc = TFunction< void(const FTransform &)>
 
- Public Types inherited from TPhysicsProxy< FStaticMeshPhysicsProxy, FStubSkeletalMeshData, FProxyTimestampBase >
using FParticleType = FStaticMeshPhysicsProxy
 
using FParticlesType = Chaos::FPBDRigidParticles
 
using FIntArray = Chaos::TArrayCollectionArray< int32 >
 

Public Member Functions

 FStaticMeshPhysicsProxy ()=delete
 
CHAOS_API FStaticMeshPhysicsProxy (UObject *InOwner, FCallbackInitFunc InInitFunc, FSyncDynamicFunc InSyncFunc)
 
CHAOS_API void Initialize ()
 
CHAOS_API void Reset ()
 
CHAOS_API void BufferKinematicUpdate (const FPhysicsProxyKinematicUpdate &InParamUpdate)
 
CHAOS_API bool IsSimulating () const
 
CHAOS_API void UpdateKinematicBodiesCallback (const FParticlesType &Particles, const float Dt, const float Time, FKinematicProxy &Proxy)
 
CHAOS_API void StartFrameCallback (const float InDt, const float InTime)
 
CHAOS_API void EndFrameCallback (const float InDt)
 
CHAOS_API void BindParticleCallbackMapping (Chaos::TArrayCollectionArray< PhysicsProxyWrapper > &PhysicsProxyReverseMap, Chaos::TArrayCollectionArray< int32 > &ParticleIDReverseMap)
 
CHAOS_API void CreateRigidBodyCallback (FParticlesType &InOutParticles)
 
CHAOS_API void ParameterUpdateCallback (FParticlesType &InParticles, const float InTime)
 
CHAOS_API void DisableCollisionsCallback (TSet< TTuple< int32, int32 > > &InPairs)
 
CHAOS_API void AddForceCallback (FParticlesType &InParticles, const float InDt, const int32 InIndex)
 
void BufferCommand (Chaos::FPhysicsSolver *InSolver, const FFieldSystemCommand &InCommand)
 
void SyncBeforeDestroy ()
 
CHAOS_API void OnRemoveFromScene ()
 
void PushToPhysicsState (const Chaos::FParticleData *)
 
void ClearAccumulatedData ()
 
CHAOS_API void BufferPhysicsResults ()
 
CHAOS_API void FlipBuffer ()
 
CHAOS_API bool PullFromPhysicsState (const int32 SolverSyncTimestamp)
 
bool IsDirty ()
 
FStubSkeletalMeshDataNewData ()
 
- Public Member Functions inherited from TPhysicsProxy< FStaticMeshPhysicsProxy, FStubSkeletalMeshData, FProxyTimestampBase >
 TPhysicsProxy ()
 
 TPhysicsProxy (UObject *InOwner)
 
virtual ~TPhysicsProxy ()
 
bool IsSimulating () const
 
void UpdateKinematicBodiesCallback (const FParticlesType &InParticles, const float InDt, const float InTime, FKinematicProxy &InKinematicProxy)
 
void StartFrameCallback (const float InDt, const float InTime)
 
void EndFrameCallback (const float InDt)
 
void CreateRigidBodyCallback (FParticlesType &InOutParticles)
 
void DisableCollisionsCallback (TSet< TTuple< int32, int32 > > &InPairs)
 
void AddForceCallback (FParticlesType &InParticles, const float InDt, const int32 InIndex)
 
void BindParticleCallbackMapping (Chaos::TArrayCollectionArray< PhysicsProxyWrapper > &PhysicsProxyReverseMap, Chaos::TArrayCollectionArray< int32 > &ParticleIDReverseMap)
 
void ClearAccumulatedData ()
 
void SyncBeforeDestroy ()
 
void OnRemoveFromScene ()
 
bool IsDirty ()
 
voidGetUserData () const
 
Chaos::FRigidTransform3 GetTransform () const
 
FORCEINLINE_DEBUGGABLE FProxyTimestampBaseGetSyncTimestampTyped ()
 
- 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
 
virtual voidGetHandleUnsafe () 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 constexpr EPhysicsProxyType ConcreteType ()
 
- Static Public Member Functions inherited from TPhysicsProxy< FStaticMeshPhysicsProxy, FStubSkeletalMeshData, FProxyTimestampBase >
static constexpr EPhysicsProxyType ConcreteType ()
 
- Static Public Member Functions inherited from IPhysicsProxyBase
static float GetRenderInterpErrorCorrectionDuration ()
 
static float GetRenderInterpMaximumErrorCorrectionBeforeSnapping ()
 
static float GetRenderInterpErrorVelocitySmoothingDuration ()
 
static bool GetRenderInterpDebugDraw ()
 
static float GetRenderInterpErrorDirectionalDecayMultiplier ()
 

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
 
- Protected Attributes inherited from IPhysicsProxyBase
Chaos::FPhysicsSolverBaseSolver
 
UObjectOwner
 
EPhysicsProxyType Type
 
int32 InitializedOnStep = INDEX_NONE
 
int32 IgnoreDataOnStep_Internal = INDEX_NONE
 

Member Typedef Documentation

◆ FCallbackInitFunc

◆ FSyncDynamicFunc

Constructor & Destructor Documentation

◆ FStaticMeshPhysicsProxy() [1/2]

FStaticMeshPhysicsProxy::FStaticMeshPhysicsProxy ( )
delete

◆ FStaticMeshPhysicsProxy() [2/2]

FStaticMeshPhysicsProxy::FStaticMeshPhysicsProxy ( UObject InOwner,
FCallbackInitFunc  InInitFunc,
FSyncDynamicFunc  InSyncFunc 
)

Member Function Documentation

◆ AddForceCallback()

void FStaticMeshPhysicsProxy::AddForceCallback ( FParticlesType InParticles,
const float  InDt,
const int32  InIndex 
)

◆ BindParticleCallbackMapping()

void FStaticMeshPhysicsProxy::BindParticleCallbackMapping ( Chaos::TArrayCollectionArray< PhysicsProxyWrapper > &  PhysicsProxyReverseMap,
Chaos::TArrayCollectionArray< int32 > &  ParticleIDReverseMap 
)

◆ BufferCommand()

void FStaticMeshPhysicsProxy::BufferCommand ( Chaos::FPhysicsSolver InSolver,
const FFieldSystemCommand InCommand 
)
inline

◆ BufferKinematicUpdate()

void FStaticMeshPhysicsProxy::BufferKinematicUpdate ( const FPhysicsProxyKinematicUpdate InParamUpdate)

Stores latest update, to be applied at next opportunity (via UpdateKinematicBodiesCallback).

◆ BufferPhysicsResults()

void FStaticMeshPhysicsProxy::BufferPhysicsResults ( )

◆ ClearAccumulatedData()

void FStaticMeshPhysicsProxy::ClearAccumulatedData ( )
inline

◆ ConcreteType()

static constexpr EPhysicsProxyType FStaticMeshPhysicsProxy::ConcreteType ( )
inlinestaticconstexpr

◆ CreateRigidBodyCallback()

void FStaticMeshPhysicsProxy::CreateRigidBodyCallback ( FParticlesType InOutParticles)

◆ DisableCollisionsCallback()

void FStaticMeshPhysicsProxy::DisableCollisionsCallback ( TSet< TTuple< int32, int32 > > &  InPairs)

◆ EndFrameCallback()

void FStaticMeshPhysicsProxy::EndFrameCallback ( const float  InDt)

◆ FlipBuffer()

void FStaticMeshPhysicsProxy::FlipBuffer ( )

◆ Initialize()

void FStaticMeshPhysicsProxy::Initialize ( )

◆ IsDirty()

bool FStaticMeshPhysicsProxy::IsDirty ( )
inline

◆ IsSimulating()

bool FStaticMeshPhysicsProxy::IsSimulating ( ) const

Solver Object interface

◆ NewData()

FStubSkeletalMeshData * FStaticMeshPhysicsProxy::NewData ( )
inline

◆ OnRemoveFromScene()

void FStaticMeshPhysicsProxy::OnRemoveFromScene ( )

◆ ParameterUpdateCallback()

void FStaticMeshPhysicsProxy::ParameterUpdateCallback ( FParticlesType InParticles,
const float  InTime 
)

◆ PullFromPhysicsState()

bool FStaticMeshPhysicsProxy::PullFromPhysicsState ( const int32  SolverSyncTimestamp)

◆ PushToPhysicsState()

void FStaticMeshPhysicsProxy::PushToPhysicsState ( const Chaos::FParticleData )
inline

◆ Reset()

void FStaticMeshPhysicsProxy::Reset ( )

◆ StartFrameCallback()

void FStaticMeshPhysicsProxy::StartFrameCallback ( const float  InDt,
const float  InTime 
)

◆ SyncBeforeDestroy()

void FStaticMeshPhysicsProxy::SyncBeforeDestroy ( )
inline

◆ UpdateKinematicBodiesCallback()

void FStaticMeshPhysicsProxy::UpdateKinematicBodiesCallback ( const FParticlesType Particles,
const float  Dt,
const float  Time,
FKinematicProxy Proxy 
)

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