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

#include <SingleParticlePhysicsProxy.h>

+ Inheritance diagram for Chaos::FRigidBodyHandle_External:

Public Types

using Base = TThreadedSingleParticlePhysicsProxyBase< true >
 

Public Member Functions

void SetIgnoreAnalyticCollisions (bool bIgnoreAnalyticCollisions)
 
void UpdateShapeBounds ()
 
void UpdateShapeBounds (const FTransform &Transform)
 
void SetShapeCollisionTraceType (int32 InShapeIndex, EChaosCollisionTraceFlag TraceType)
 
void SetShapeSimCollisionEnabled (int32 InShapeIndex, bool bInEnabled)
 
void SetShapeQueryCollisionEnabled (int32 InShapeIndex, bool bInEnabled)
 
void SetShapeSimData (int32 InShapeIndex, const FCollisionFilterData &SimData)
 
void SetParticleID (const FParticleID &ParticleID)
 
void SetX (const FVec3 &InX, bool bInvalidate=true)
 
void SetR (const FRotation3 &InR, bool bInvalidate=true)
 
void SetV (const FVec3 &InV, bool bInvalidate=true)
 
void SetW (const FVec3 &InW, bool bInvalidate=true)
 
void SetObjectState (const EObjectStateType InState, bool bAllowEvents=false, bool bInvalidate=true)
 
int32 Island () const
 
void SetIsland (const int32 InIsland)
 
void ClearEvents ()
 
EWakeEventEntry GetWakeEvent ()
 
void ClearForces (bool bInvalidate=true)
 
void ClearTorques (bool bInvalidate=true)
 
voidUserData () const
 
void SetUserData (void *InUserData)
 
void SetGeometry (const Chaos::FImplicitObjectPtr &ImplicitGeometryPtr)
 
void SetGeometry (TUniquePtr< FImplicitObject > &&UniqueGeometry)
 
void SetGeometry (TSharedPtr< const FImplicitObject, ESPMode::ThreadSafe > SharedGeometry)
 
void RemoveShape (FPerShapeData *InShape, bool bWakeTouching)
 
void MergeShapesArray (FShapesArray &&OtherShapesArray)
 
void MergeGeometry (TArray< Chaos::FImplicitObjectPtr > &&Objects)
 
void MergeGeometry (TArray< TUniquePtr< FImplicitObject > > &&Objects)
 
bool IsKinematicTargetDirty () const
 
void ClearKinematicTarget ()
 
void SetSmoothEdgeCollisionsEnabled (bool bEnabled)
 
void SetCCDEnabled (bool bEnabled)
 
bool CCDEnabled () const
 
void SetMACDEnabled (bool bEnabled)
 
bool MACDEnabled () const
 
void SetPartialIslandSleepAllowed (bool bEnabled)
 
bool PartialIslandSleepAllowed () const
 
Private::FIterationSettings IterationSettings () const
 
void SetPositionSolverIterationCount (int32 PositionSolverIterationCountIn)
 
void SetVelocitySolverIterationCount (int32 VelocitySolverIterationCountIn)
 
void SetProjectionSolverIterationCount (int32 ProjectionSolverIterationCountIn)
 
void SetMaxLinearSpeedSq (FReal InNewSpeed)
 
FReal GetMaxLinearSpeedSq ()
 
void SetMaxAngularSpeedSq (FReal InNewSpeed)
 
FReal GetMaxAngularSpeedSq ()
 
FRealSingle GetInitialOverlapDepenetrationVelocity ()
 
void SetInitialOverlapDepenetrationVelocity (FRealSingle InNewSpeed)
 
void SetSleepThresholdMultiplier (FRealSingle Multiplier)
 
void SetDisabled (bool bDisable)
 
bool Disabled () const
 
- Public Member Functions inherited from Chaos::TThreadedSingleParticlePhysicsProxyBase< true >
FSingleParticlePhysicsProxyGetProxy ()
 
bool CanTreatAsKinematic () const
 
bool CanTreatAsRigid () const
 
const FVec3X () const
 
const FVec3GetX () const
 
FUniqueIdx UniqueIdx () const
 
void SetUniqueIdx (const FUniqueIdx UniqueIdx, bool bInvalidate=true)
 
FRotation3 R () const
 
FRotation3 GetR () const
 
const TSharedPtr< FImplicitObject, ESPMode::ThreadSafe > & SharedGeometryLowLevel () const
 
const FImplicitObjectRef GetGeometry () const
 
TSerializablePtr< FImplicitObjectGeometry () const
 
const FShapesArrayShapesArray () const
 
EObjectStateType ObjectState () const
 
EParticleType ObjectType () const
 
FSpatialAccelerationIdx SpatialIdx () const
 
void SetSpatialIdx (FSpatialAccelerationIdx Idx)
 
const FVec3 V () const
 
const FVec3 GetV () const
 
const FVec3 W () const
 
const FVec3 GetW () const
 
void SetKinematicTarget (const FRigidTransform3 &InTargetTransform, bool bInvalidate=true)
 
void SetKinematicTarget (const FKinematicTarget &InKinematicTarget, bool bInvalidate=true)
 
bool GravityEnabled () const
 
void SetGravityEnabled (const bool InGravityEnabled)
 
int32 GravityGroupIndex () const
 
void SetGravityGroupIndex (const uint32 InGravityGroupIndex)
 
bool UpdateKinematicFromSimulation () const
 
void SetUpdateKinematicFromSimulation (const bool InUpdateKinematicFromSimulation)
 
bool GyroscopicTorqueEnabled () const
 
void SetGyroscopicTorqueEnabled (const bool InGyroscopicTorqueEnabled)
 
bool CCDEnabled () const
 
void SetCCDEnabled (const bool InCCDEnabled)
 
bool MACDEnabled () const
 
void SetMACDEnabled (const bool InMACDEnabled)
 
bool PartialIslandSleepAllowed () const
 
void SetPartialIslandSleepAllowed (const bool InPartialIslandSleepAllowed)
 
void SetPositionSolverIterations (const int32 PositionSolverIterationsIn)
 
void SetVelocitySolverIterations (const int32 VelocitySolverIterationsIn)
 
void SetProjectionSolverIterations (const int32 ProjectionSolverIterationsIn)
 
bool OneWayInteraction () const
 
void SetOneWayInteraction (const bool bInOneWayInteraction)
 
bool InertiaConditioningEnabled () const
 
void SetInertiaConditioningEnabled (const bool bInEnabled)
 
void SetResimType (EResimType ResimType)
 
EResimType ResimType () const
 
const FVec3 Acceleration () const
 
void SetAcceleration (const FVec3 &Acceleration, bool bInvalidate=true)
 
void AddForce (const FVec3 &InForce, bool bInvalidate=true)
 
void SetAngularAcceleration (const FVec3 &AngularAcceleration, bool bInvalidate=true)
 
const FVec3 AngularAcceleration () const
 
void AddTorque (const FVec3 &InTorque, bool bInvalidate=true)
 
const FVec3 LinearImpulseVelocity () const
 
const FVec3 LinearImpulse () const
 
void SetLinearImpulse (const FVec3 &InLinearImpulse, bool bIsVelocity, bool bInvalidate=true)
 
const FVec3 AngularImpulseVelocity () const
 
const FVec3 AngularImpulse () const
 
void SetAngularImpulse (const FVec3 &InAngularImpulse, bool bIsVelocity, bool bInvalidate=true)
 
const Chaos::TVec3< FRealSingleI () const
 
void SetI (const Chaos::TVec3< FRealSingle > &InI)
 
const Chaos::TVec3< FRealSingleInvI () const
 
void SetInvI (const Chaos::TVec3< FRealSingle > &InInvI)
 
const FReal M () const
 
void SetM (const FReal InM)
 
const FReal InvM () const
 
void SetInvM (const FReal InInvM)
 
const FVec3 CenterOfMass () const
 
void SetCenterOfMass (const FVec3 &InCenterOfMass, bool bInvalidate=true)
 
const FRotation3 RotationOfMass () const
 
void SetRotationOfMass (const FRotation3 &InRotationOfMass, bool bInvalidate=true)
 
const FReal LinearEtherDrag () const
 
void SetLinearEtherDrag (const FReal InLinearEtherDrag)
 
const FReal AngularEtherDrag () const
 
void SetAngularEtherDrag (const FReal InAngularEtherDrag)
 
void SetSleepType (ESleepType InSleepType)
 
ESleepType SleepType () const
 

Additional Inherited Members

- Protected Types inherited from Chaos::FSingleParticlePhysicsProxy
using PARTICLE_TYPE = FGeometryParticle
 
using FParticleHandle = FGeometryParticleHandle
 
- Protected Member Functions inherited from Chaos::TThreadedSingleParticlePhysicsProxyBase< true >
void SetXBase (const FVec3 &InX, bool bInvalidate=true)
 
void SetRBase (const FRotation3 &InR, bool bInvalidate=true)
 
void SetVBase (const FVec3 &InV, bool bInvalidate=true)
 
void SetWBase (const FVec3 &InW, bool bInvalidate=true)
 
void SetObjectStateBase (const EObjectStateType InState, bool bAllowEvents=false, bool bInvalidate=true)
 
void VerifyContext () const
 
- Protected Member Functions inherited from Chaos::FSingleParticlePhysicsProxy
 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 ()
 
- Protected Member Functions inherited from IPhysicsProxyBase
virtual CHAOS_API ~IPhysicsProxyBase ()
 
template<typename TProxyTimeStamp >
FORCEINLINE_DEBUGGABLE TProxyTimeStampGetSyncTimestampAs ()
 
CHAOS_API int32 GetSolverSyncTimestamp_External () const
 
 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 Protected Member Functions inherited from Chaos::FSingleParticlePhysicsProxy
static FSingleParticlePhysicsProxyCreate (TUniquePtr< FGeometryParticle > &&Particle, UObject *InOwner)
 
- Static Protected Member Functions inherited from IPhysicsProxyBase
static float GetRenderInterpErrorCorrectionDuration ()
 
static float GetRenderInterpMaximumErrorCorrectionBeforeSnapping ()
 
static float GetRenderInterpErrorVelocitySmoothingDuration ()
 
static bool GetRenderInterpDebugDraw ()
 
static float GetRenderInterpErrorDirectionalDecayMultiplier ()
 
- Protected Attributes inherited from Chaos::FSingleParticlePhysicsProxy
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
 

Member Typedef Documentation

◆ Base

Member Function Documentation

◆ CCDEnabled()

bool Chaos::FRigidBodyHandle_External::CCDEnabled ( ) const
inline

◆ ClearEvents()

void Chaos::FRigidBodyHandle_External::ClearEvents ( )
inline

◆ ClearForces()

void Chaos::FRigidBodyHandle_External::ClearForces ( bool  bInvalidate = true)
inline

◆ ClearKinematicTarget()

void Chaos::FRigidBodyHandle_External::ClearKinematicTarget ( )
inline

◆ ClearTorques()

void Chaos::FRigidBodyHandle_External::ClearTorques ( bool  bInvalidate = true)
inline

◆ Disabled()

bool Chaos::FRigidBodyHandle_External::Disabled ( ) const
inline

◆ GetInitialOverlapDepenetrationVelocity()

FRealSingle Chaos::FRigidBodyHandle_External::GetInitialOverlapDepenetrationVelocity ( )
inline

◆ GetMaxAngularSpeedSq()

FReal Chaos::FRigidBodyHandle_External::GetMaxAngularSpeedSq ( )
inline

◆ GetMaxLinearSpeedSq()

FReal Chaos::FRigidBodyHandle_External::GetMaxLinearSpeedSq ( )
inline

◆ GetWakeEvent()

EWakeEventEntry Chaos::FRigidBodyHandle_External::GetWakeEvent ( )
inline

◆ IsKinematicTargetDirty()

bool Chaos::FRigidBodyHandle_External::IsKinematicTargetDirty ( ) const
inline

◆ Island()

int32 Chaos::FRigidBodyHandle_External::Island ( ) const
inline

◆ IterationSettings()

Private::FIterationSettings Chaos::FRigidBodyHandle_External::IterationSettings ( ) const
inline

◆ MACDEnabled()

bool Chaos::FRigidBodyHandle_External::MACDEnabled ( ) const
inline

◆ MergeGeometry() [1/2]

void Chaos::FRigidBodyHandle_External::MergeGeometry ( TArray< Chaos::FImplicitObjectPtr > &&  Objects)
inline

◆ MergeGeometry() [2/2]

void Chaos::FRigidBodyHandle_External::MergeGeometry ( TArray< TUniquePtr< FImplicitObject > > &&  Objects)
inline

◆ MergeShapesArray()

void Chaos::FRigidBodyHandle_External::MergeShapesArray ( FShapesArray &&  OtherShapesArray)
inline

◆ PartialIslandSleepAllowed()

bool Chaos::FRigidBodyHandle_External::PartialIslandSleepAllowed ( ) const
inline

◆ RemoveShape()

void Chaos::FRigidBodyHandle_External::RemoveShape ( FPerShapeData InShape,
bool  bWakeTouching 
)
inline

◆ SetCCDEnabled()

void Chaos::FRigidBodyHandle_External::SetCCDEnabled ( bool  bEnabled)
inline

◆ SetDisabled()

void Chaos::FRigidBodyHandle_External::SetDisabled ( bool  bDisable)
inline

◆ SetGeometry() [1/3]

void Chaos::FRigidBodyHandle_External::SetGeometry ( const Chaos::FImplicitObjectPtr ImplicitGeometryPtr)
inline

◆ SetGeometry() [2/3]

void Chaos::FRigidBodyHandle_External::SetGeometry ( TSharedPtr< const FImplicitObject, ESPMode::ThreadSafe SharedGeometry)
inline

◆ SetGeometry() [3/3]

void Chaos::FRigidBodyHandle_External::SetGeometry ( TUniquePtr< FImplicitObject > &&  UniqueGeometry)
inline

◆ SetIgnoreAnalyticCollisions()

void Chaos::FRigidBodyHandle_External::SetIgnoreAnalyticCollisions ( bool  bIgnoreAnalyticCollisions)
inline

◆ SetInitialOverlapDepenetrationVelocity()

void Chaos::FRigidBodyHandle_External::SetInitialOverlapDepenetrationVelocity ( FRealSingle  InNewSpeed)
inline

◆ SetIsland()

void Chaos::FRigidBodyHandle_External::SetIsland ( const int32  InIsland)
inline

◆ SetMACDEnabled()

void Chaos::FRigidBodyHandle_External::SetMACDEnabled ( bool  bEnabled)
inline

◆ SetMaxAngularSpeedSq()

void Chaos::FRigidBodyHandle_External::SetMaxAngularSpeedSq ( FReal  InNewSpeed)
inline

◆ SetMaxLinearSpeedSq()

void Chaos::FRigidBodyHandle_External::SetMaxLinearSpeedSq ( FReal  InNewSpeed)
inline

◆ SetObjectState()

void Chaos::FRigidBodyHandle_External::SetObjectState ( const EObjectStateType  InState,
bool  bAllowEvents = false,
bool  bInvalidate = true 
)
inline

◆ SetPartialIslandSleepAllowed()

void Chaos::FRigidBodyHandle_External::SetPartialIslandSleepAllowed ( bool  bEnabled)
inline

◆ SetParticleID()

void Chaos::FRigidBodyHandle_External::SetParticleID ( const FParticleID ParticleID)
inline

◆ SetPositionSolverIterationCount()

void Chaos::FRigidBodyHandle_External::SetPositionSolverIterationCount ( int32  PositionSolverIterationCountIn)
inline

◆ SetProjectionSolverIterationCount()

void Chaos::FRigidBodyHandle_External::SetProjectionSolverIterationCount ( int32  ProjectionSolverIterationCountIn)
inline

◆ SetR()

void Chaos::FRigidBodyHandle_External::SetR ( const FRotation3 InR,
bool  bInvalidate = true 
)
inline

◆ SetShapeCollisionTraceType()

void Chaos::FRigidBodyHandle_External::SetShapeCollisionTraceType ( int32  InShapeIndex,
EChaosCollisionTraceFlag  TraceType 
)
inline

◆ SetShapeQueryCollisionEnabled()

void Chaos::FRigidBodyHandle_External::SetShapeQueryCollisionEnabled ( int32  InShapeIndex,
bool  bInEnabled 
)
inline

◆ SetShapeSimCollisionEnabled()

void Chaos::FRigidBodyHandle_External::SetShapeSimCollisionEnabled ( int32  InShapeIndex,
bool  bInEnabled 
)
inline

◆ SetShapeSimData()

void Chaos::FRigidBodyHandle_External::SetShapeSimData ( int32  InShapeIndex,
const FCollisionFilterData SimData 
)
inline

◆ SetSleepThresholdMultiplier()

void Chaos::FRigidBodyHandle_External::SetSleepThresholdMultiplier ( FRealSingle  Multiplier)
inline

◆ SetSmoothEdgeCollisionsEnabled()

void Chaos::FRigidBodyHandle_External::SetSmoothEdgeCollisionsEnabled ( bool  bEnabled)
inline

◆ SetUserData()

void Chaos::FRigidBodyHandle_External::SetUserData ( void InUserData)
inline

◆ SetV()

void Chaos::FRigidBodyHandle_External::SetV ( const FVec3 InV,
bool  bInvalidate = true 
)
inline

◆ SetVelocitySolverIterationCount()

void Chaos::FRigidBodyHandle_External::SetVelocitySolverIterationCount ( int32  VelocitySolverIterationCountIn)
inline

◆ SetW()

void Chaos::FRigidBodyHandle_External::SetW ( const FVec3 InW,
bool  bInvalidate = true 
)
inline

◆ SetX()

void Chaos::FRigidBodyHandle_External::SetX ( const FVec3 InX,
bool  bInvalidate = true 
)
inline

◆ UpdateShapeBounds() [1/2]

void Chaos::FRigidBodyHandle_External::UpdateShapeBounds ( )
inline

◆ UpdateShapeBounds() [2/2]

void Chaos::FRigidBodyHandle_External::UpdateShapeBounds ( const FTransform Transform)
inline

◆ UserData()

void * Chaos::FRigidBodyHandle_External::UserData ( ) const
inline

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