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

#include <ClusterUnionPhysicsProxy.h>

+ Inheritance diagram for Chaos::FClusterUnionPhysicsProxy:

Public Types

using FExternalParticle = TPBDRigidParticle< FReal, 3 >
 
using FInternalParticle = TPBDRigidClusteredParticleHandle< Chaos::FReal, 3 >
 
- Public Types inherited from TPhysicsProxy< FClusterUnionPhysicsProxy, void, FClusterUnionProxyTimestamp >
using FParticleType = FClusterUnionPhysicsProxy
 
using FParticlesType = Chaos::FPBDRigidParticles
 
using FIntArray = Chaos::TArrayCollectionArray< int32 >
 

Public Member Functions

 FClusterUnionPhysicsProxy ()=delete
 
CHAOS_API FClusterUnionPhysicsProxy (UObject *InOwner, const FClusterCreationParameters &InParameters, const FClusterUnionInitData &InInitData)
 
CHAOS_API void AddPhysicsObjects_External (const TArray< FPhysicsObjectHandle > &Objects)
 
const FClusterUnionSyncedDataGetSyncedData_External () const
 
CHAOS_API void RemovePhysicsObjects_External (const TSet< FPhysicsObjectHandle > &Objects)
 
CHAOS_API void SetIsAnchored_External (bool bIsAnchored)
 
CHAOS_API EObjectStateType GetObjectState_External () const
 
CHAOS_API void SetObjectState_External (EObjectStateType State)
 
CHAOS_API void Wake_External ()
 
CHAOS_API void SetMass_External (Chaos::FReal Mass)
 
CHAOS_API void SetGeometry_External (const Chaos::FImplicitObjectPtr &Geometry, const TArray< FPBDRigidParticle * > &ShapeParticles)
 
CHAOS_API void MergeGeometry_External (TArray< Chaos::FImplicitObjectPtr > &&ImplicitGeometries, const TArray< FPBDRigidParticle * > &ShapeParticles)
 
CHAOS_API void RemoveShapes_External (const TArray< FPBDRigidParticle * > &ShapeParticles)
 
void SetSharedGeometry_External (const TSharedPtr< Chaos::FImplicitObject, ESPMode::ThreadSafe > &Geometry, const TArray< FPBDRigidParticle * > &ShapeParticles)
 
CHAOS_API void Initialize_External ()
 
bool IsInitializedOnPhysicsThread () const
 
CHAOS_API void Initialize_Internal (FPBDRigidsSolver *RigidsSolver, FPBDRigidsSolver::FParticlesType &Particles)
 
FExternalParticleGetParticle_External () const
 
FInternalParticleGetParticle_Internal () const
 
virtual voidGetHandleUnsafe () const override
 
FPhysicsObjectHandle GetPhysicsObjectHandle () const
 
bool HasChildren_External () const
 
CHAOS_API bool HasChildren_Internal () const
 
bool IsAnchored_External () const
 
CHAOS_API void SetXR_External (const FVector &X, const FQuat &R)
 
CHAOS_API void SetLinearVelocity_External (const FVector &V)
 
CHAOS_API void SetAngularVelocity_External (const FVector &W)
 
CHAOS_API void SetChildToParent_External (FPhysicsObjectHandle Child, const FTransform &RelativeTransform, bool bLock)
 
CHAOS_API void BulkSetChildToParent_External (const TArray< FPhysicsObjectHandle > &Objects, const TArray< FTransform > &Transforms, bool bLock)
 
CHAOS_API void ChangeMainParticleStatus_External (const TArray< FPhysicsObjectHandle > &Objects, bool bIsMain)
 
CHAOS_API void PushToPhysicsState (const FDirtyPropertiesManager &Manager, int32 DataIdx, const FDirtyProxy &Dirty)
 
CHAOS_API bool PullFromPhysicsState (const FDirtyClusterUnionData &PullData, int32 SolverSyncTimestamp, const FDirtyClusterUnionData *NextPullData=nullptr, const FRealSingle *Alpha=nullptr, const FDirtyRigidParticleReplicationErrorData *Error=nullptr, const Chaos::FReal AsyncFixedTimeStep=0)
 
CHAOS_API void BufferPhysicsResults_Internal (FDirtyClusterUnionData &BufferData)
 
CHAOS_API void BufferPhysicsResults_External (FDirtyClusterUnionData &BufferData)
 
CHAOS_API void SyncRemoteData (FDirtyPropertiesManager &Manager, int32 DataIdx, FDirtyChaosProperties &RemoteData) const
 
CHAOS_API void ClearAccumulatedData ()
 
FProxyInterpolationBaseGetInterpolationData ()
 
const FProxyInterpolationBaseGetInterpolationData () const
 
FClusterUnionIndex GetClusterUnionIndex () const
 
void ForceSetGeometryChildParticles_External (TArray< FExternalParticle * > &&InParticles)
 
CHAOS_API void SetEnableStrainOnCollision_External (bool bEnable)
 
bool GetEnableStrainOnCollision_Internal () const
 
template<typename ErrorDataType >
ErrorDataTypeGetOrCreateErrorInterpolationData ()
 
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 SyncBeforeDestroy ()
 
void OnRemoveFromScene ()
 
bool IsDirty ()
 
- Public Member Functions inherited from TPhysicsProxy< FClusterUnionPhysicsProxy, void, FClusterUnionProxyTimestamp >
 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 FClusterUnionProxyTimestampGetSyncTimestampTyped ()
 
- 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 constexpr EPhysicsProxyType ConcreteType ()
 
- Static Public Member Functions inherited from TPhysicsProxy< FClusterUnionPhysicsProxy, void, FClusterUnionProxyTimestamp >
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

◆ FExternalParticle

◆ FInternalParticle

Constructor & Destructor Documentation

◆ FClusterUnionPhysicsProxy() [1/2]

Chaos::FClusterUnionPhysicsProxy::FClusterUnionPhysicsProxy ( )
delete

◆ FClusterUnionPhysicsProxy() [2/2]

Chaos::FClusterUnionPhysicsProxy::FClusterUnionPhysicsProxy ( UObject InOwner,
const FClusterCreationParameters InParameters,
const FClusterUnionInitData InInitData 
)

Member Function Documentation

◆ AddForceCallback()

void Chaos::FClusterUnionPhysicsProxy::AddForceCallback ( FParticlesType InParticles,
const float  InDt,
const int32  InIndex 
)
inline

◆ AddPhysicsObjects_External()

void Chaos::FClusterUnionPhysicsProxy::AddPhysicsObjects_External ( const TArray< FPhysicsObjectHandle > &  Objects)

◆ BindParticleCallbackMapping()

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

◆ BufferPhysicsResults_External()

void Chaos::FClusterUnionPhysicsProxy::BufferPhysicsResults_External ( FDirtyClusterUnionData BufferData)

◆ BufferPhysicsResults_Internal()

void Chaos::FClusterUnionPhysicsProxy::BufferPhysicsResults_Internal ( FDirtyClusterUnionData BufferData)

◆ BulkSetChildToParent_External()

void Chaos::FClusterUnionPhysicsProxy::BulkSetChildToParent_External ( const TArray< FPhysicsObjectHandle > &  Objects,
const TArray< FTransform > &  Transforms,
bool  bLock 
)

◆ ChangeMainParticleStatus_External()

void Chaos::FClusterUnionPhysicsProxy::ChangeMainParticleStatus_External ( const TArray< FPhysicsObjectHandle > &  Objects,
bool  bIsMain 
)

◆ ClearAccumulatedData()

void Chaos::FClusterUnionPhysicsProxy::ClearAccumulatedData ( )

◆ ConcreteType()

static constexpr EPhysicsProxyType Chaos::FClusterUnionPhysicsProxy::ConcreteType ( )
inlinestaticconstexpr

◆ CreateRigidBodyCallback()

void Chaos::FClusterUnionPhysicsProxy::CreateRigidBodyCallback ( FParticlesType InOutParticles)
inline

◆ DisableCollisionsCallback()

void Chaos::FClusterUnionPhysicsProxy::DisableCollisionsCallback ( TSet< TTuple< int32, int32 > > &  InPairs)
inline

◆ EndFrameCallback()

void Chaos::FClusterUnionPhysicsProxy::EndFrameCallback ( const float  InDt)
inline

◆ ForceSetGeometryChildParticles_External()

void Chaos::FClusterUnionPhysicsProxy::ForceSetGeometryChildParticles_External ( TArray< FExternalParticle * > &&  InParticles)
inline

◆ GetClusterUnionIndex()

FClusterUnionIndex Chaos::FClusterUnionPhysicsProxy::GetClusterUnionIndex ( ) const
inline

◆ GetEnableStrainOnCollision_Internal()

bool Chaos::FClusterUnionPhysicsProxy::GetEnableStrainOnCollision_Internal ( ) const
inline

◆ GetHandleUnsafe()

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

Reimplemented from IPhysicsProxyBase.

◆ GetInterpolationData() [1/2]

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

◆ GetInterpolationData() [2/2]

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

◆ GetObjectState_External()

EObjectStateType Chaos::FClusterUnionPhysicsProxy::GetObjectState_External ( ) const

◆ GetOrCreateErrorInterpolationData()

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

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

◆ GetParticle_External()

FExternalParticle * Chaos::FClusterUnionPhysicsProxy::GetParticle_External ( ) const
inline

◆ GetParticle_Internal()

FInternalParticle * Chaos::FClusterUnionPhysicsProxy::GetParticle_Internal ( ) const
inline

◆ GetPhysicsObjectHandle()

FPhysicsObjectHandle Chaos::FClusterUnionPhysicsProxy::GetPhysicsObjectHandle ( ) const
inline

◆ GetSyncedData_External()

const FClusterUnionSyncedData & Chaos::FClusterUnionPhysicsProxy::GetSyncedData_External ( ) const
inline

◆ HasChildren_External()

bool Chaos::FClusterUnionPhysicsProxy::HasChildren_External ( ) const
inline

◆ HasChildren_Internal()

bool Chaos::FClusterUnionPhysicsProxy::HasChildren_Internal ( ) const

◆ Initialize_External()

void Chaos::FClusterUnionPhysicsProxy::Initialize_External ( )

◆ Initialize_Internal()

void Chaos::FClusterUnionPhysicsProxy::Initialize_Internal ( FPBDRigidsSolver RigidsSolver,
FPBDRigidsSolver::FParticlesType Particles 
)

◆ IsAnchored_External()

bool Chaos::FClusterUnionPhysicsProxy::IsAnchored_External ( ) const
inline

◆ IsDirty()

bool Chaos::FClusterUnionPhysicsProxy::IsDirty ( )
inline

◆ IsInitializedOnPhysicsThread()

bool Chaos::FClusterUnionPhysicsProxy::IsInitializedOnPhysicsThread ( ) const
inline

◆ IsSimulating()

bool Chaos::FClusterUnionPhysicsProxy::IsSimulating ( ) const
inline

◆ MergeGeometry_External()

void Chaos::FClusterUnionPhysicsProxy::MergeGeometry_External ( TArray< Chaos::FImplicitObjectPtr > &&  ImplicitGeometries,
const TArray< FPBDRigidParticle * > &  ShapeParticles 
)

◆ OnRemoveFromScene()

void Chaos::FClusterUnionPhysicsProxy::OnRemoveFromScene ( )
inline

◆ PullFromPhysicsState()

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

◆ PushToPhysicsState()

void Chaos::FClusterUnionPhysicsProxy::PushToPhysicsState ( const FDirtyPropertiesManager Manager,
int32  DataIdx,
const FDirtyProxy Dirty 
)

◆ RemovePhysicsObjects_External()

void Chaos::FClusterUnionPhysicsProxy::RemovePhysicsObjects_External ( const TSet< FPhysicsObjectHandle > &  Objects)

◆ RemoveShapes_External()

void Chaos::FClusterUnionPhysicsProxy::RemoveShapes_External ( const TArray< FPBDRigidParticle * > &  ShapeParticles)

◆ SetAngularVelocity_External()

void Chaos::FClusterUnionPhysicsProxy::SetAngularVelocity_External ( const FVector W)

◆ SetChildToParent_External()

void Chaos::FClusterUnionPhysicsProxy::SetChildToParent_External ( FPhysicsObjectHandle  Child,
const FTransform RelativeTransform,
bool  bLock 
)

◆ SetEnableStrainOnCollision_External()

void Chaos::FClusterUnionPhysicsProxy::SetEnableStrainOnCollision_External ( bool  bEnable)

◆ SetGeometry_External()

void Chaos::FClusterUnionPhysicsProxy::SetGeometry_External ( const Chaos::FImplicitObjectPtr Geometry,
const TArray< FPBDRigidParticle * > &  ShapeParticles 
)

◆ SetIsAnchored_External()

void Chaos::FClusterUnionPhysicsProxy::SetIsAnchored_External ( bool  bIsAnchored)

◆ SetLinearVelocity_External()

void Chaos::FClusterUnionPhysicsProxy::SetLinearVelocity_External ( const FVector V)

◆ SetMass_External()

void Chaos::FClusterUnionPhysicsProxy::SetMass_External ( Chaos::FReal  Mass)

◆ SetObjectState_External()

void Chaos::FClusterUnionPhysicsProxy::SetObjectState_External ( EObjectStateType  State)

◆ SetSharedGeometry_External()

void Chaos::FClusterUnionPhysicsProxy::SetSharedGeometry_External ( const TSharedPtr< Chaos::FImplicitObject, ESPMode::ThreadSafe > &  Geometry,
const TArray< FPBDRigidParticle * > &  ShapeParticles 
)
inline

◆ SetXR_External()

void Chaos::FClusterUnionPhysicsProxy::SetXR_External ( const FVector X,
const FQuat R 
)

◆ StartFrameCallback()

void Chaos::FClusterUnionPhysicsProxy::StartFrameCallback ( const float  InDt,
const float  InTime 
)
inline

◆ SyncBeforeDestroy()

void Chaos::FClusterUnionPhysicsProxy::SyncBeforeDestroy ( )
inline

◆ SyncRemoteData()

void Chaos::FClusterUnionPhysicsProxy::SyncRemoteData ( FDirtyPropertiesManager Manager,
int32  DataIdx,
FDirtyChaosProperties RemoteData 
) const

◆ UpdateKinematicBodiesCallback()

void Chaos::FClusterUnionPhysicsProxy::UpdateKinematicBodiesCallback ( const FParticlesType InParticles,
const float  InDt,
const float  InTime,
FKinematicProxy InKinematicProxy 
)
inline

◆ Wake_External()

void Chaos::FClusterUnionPhysicsProxy::Wake_External ( )

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