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

#include <CharacterGroundConstraintProxy.h>

+ Inheritance diagram for Chaos::FCharacterGroundConstraintProxy:

Public Types

using Base = IPhysicsProxyBase
 

Public Member Functions

CHAOS_API FCharacterGroundConstraintProxy (FCharacterGroundConstraint *InConstraintGT, FCharacterGroundConstraintHandle *InConstraintPT=nullptr, UObject *InOwner=nullptr)
 
FCharacterGroundConstraintGetGameThreadAPI ()
 Member Access.
 
const FCharacterGroundConstraintGetGameThreadAPI () const
 
FCharacterGroundConstraintHandleGetPhysicsThreadAPI ()
 
const FCharacterGroundConstraintHandleGetPhysicsThreadAPI () const
 
CHAOS_API void InitializeOnPhysicsThread (FPBDRigidsSolver *InSolver, FDirtyPropertiesManager &Manager, int32 DataIdx, FDirtyChaosProperties &RemoteData)
 State Management.
 
CHAOS_API void PushStateOnGameThread (FDirtyPropertiesManager &Manager, int32 DataIdx, FDirtyChaosProperties &RemoteData)
 Pushes any changed data from the game thread constraint to the remote data.
 
CHAOS_API void PushStateOnPhysicsThread (FPBDRigidsSolver *InSolver, const FDirtyPropertiesManager &Manager, int32 DataIdx, const FDirtyChaosProperties &RemoteData)
 Reads changed data from the game thread constraint into the physics thread constraint via the remote data.
 
CHAOS_API void DestroyOnGameThread ()
 Deletes the game thread constraint.
 
CHAOS_API void DestroyOnPhysicsThread (FPBDRigidsSolver *InSolver)
 Removes references to the physics thread constraint and deletes it.
 
virtual voidGetHandleUnsafe () const override
 IPhysicsProxyBase Implementation.
 
CHAOS_API void BufferPhysicsResults (FDirtyCharacterGroundConstraintData &Buffer)
 Manage Output Data.
 
CHAOS_API bool PullFromPhysicsState (const FDirtyCharacterGroundConstraintData &Buffer, const int32 SolverSyncTimestamp)
 Write the output constraint data from the buffer to the game thread.
 
- 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)
 

Additional Inherited Members

- Static Public Member Functions inherited from IPhysicsProxyBase
static float GetRenderInterpErrorCorrectionDuration ()
 
static float GetRenderInterpMaximumErrorCorrectionBeforeSnapping ()
 
static float GetRenderInterpErrorVelocitySmoothingDuration ()
 
static bool GetRenderInterpDebugDraw ()
 
static float GetRenderInterpErrorDirectionalDecayMultiplier ()
 
- 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
 

Detailed Description

Proxy class to manage access to and syncing of character ground constraint data between the game thread and physics thread

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ FCharacterGroundConstraintProxy()

Chaos::FCharacterGroundConstraintProxy::FCharacterGroundConstraintProxy ( FCharacterGroundConstraint InConstraintGT,
FCharacterGroundConstraintHandle InConstraintPT = nullptr,
UObject InOwner = nullptr 
)

Member Function Documentation

◆ BufferPhysicsResults()

void Chaos::FCharacterGroundConstraintProxy::BufferPhysicsResults ( FDirtyCharacterGroundConstraintData Buffer)

Manage Output Data.

Write the output constraint data from the physics thread to the buffer

◆ DestroyOnGameThread()

void Chaos::FCharacterGroundConstraintProxy::DestroyOnGameThread ( )

Deletes the game thread constraint.

◆ DestroyOnPhysicsThread()

void Chaos::FCharacterGroundConstraintProxy::DestroyOnPhysicsThread ( FPBDRigidsSolver InSolver)

Removes references to the physics thread constraint and deletes it.

◆ GetGameThreadAPI() [1/2]

FCharacterGroundConstraint * Chaos::FCharacterGroundConstraintProxy::GetGameThreadAPI ( )
inline

Member Access.

◆ GetGameThreadAPI() [2/2]

const FCharacterGroundConstraint * Chaos::FCharacterGroundConstraintProxy::GetGameThreadAPI ( ) const
inline

◆ GetHandleUnsafe()

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

IPhysicsProxyBase Implementation.

Reimplemented from IPhysicsProxyBase.

◆ GetPhysicsThreadAPI() [1/2]

FCharacterGroundConstraintHandle * Chaos::FCharacterGroundConstraintProxy::GetPhysicsThreadAPI ( )
inline

◆ GetPhysicsThreadAPI() [2/2]

const FCharacterGroundConstraintHandle * Chaos::FCharacterGroundConstraintProxy::GetPhysicsThreadAPI ( ) const
inline

◆ InitializeOnPhysicsThread()

void Chaos::FCharacterGroundConstraintProxy::InitializeOnPhysicsThread ( FPBDRigidsSolver InSolver,
FDirtyPropertiesManager Manager,
int32  DataIdx,
FDirtyChaosProperties RemoteData 
)

State Management.

Gets the data from the game thread via the RemoteData and creates a constraint on the physics thread

◆ PullFromPhysicsState()

bool Chaos::FCharacterGroundConstraintProxy::PullFromPhysicsState ( const FDirtyCharacterGroundConstraintData Buffer,
const int32  SolverSyncTimestamp 
)

Write the output constraint data from the buffer to the game thread.

◆ PushStateOnGameThread()

void Chaos::FCharacterGroundConstraintProxy::PushStateOnGameThread ( FDirtyPropertiesManager Manager,
int32  DataIdx,
FDirtyChaosProperties RemoteData 
)

Pushes any changed data from the game thread constraint to the remote data.

◆ PushStateOnPhysicsThread()

void Chaos::FCharacterGroundConstraintProxy::PushStateOnPhysicsThread ( FPBDRigidsSolver InSolver,
const FDirtyPropertiesManager Manager,
int32  DataIdx,
const FDirtyChaosProperties RemoteData 
)

Reads changed data from the game thread constraint into the physics thread constraint via the remote data.


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