UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::FWritePhysicsObjectInterface< Id > Class Template Reference

#include <PhysicsObjectInterface.h>

+ Inheritance diagram for Chaos::FWritePhysicsObjectInterface< Id >:

Public Member Functions

CHAOS_API void SetUserDefinedEntity (TArrayView< const FPhysicsObjectHandle > InObjects, FChaosUserDefinedEntity *UserDefinedEntity)
 
CHAOS_API void PutToSleep (TArrayView< const FPhysicsObjectHandle > InObjects)
 
CHAOS_API void WakeUp (TArrayView< const FPhysicsObjectHandle > InObjects)
 
CHAOS_API void ForceKinematic (TArrayView< const FPhysicsObjectHandle > InObjects)
 
CHAOS_API void AddForce (TArrayView< const FPhysicsObjectHandle > InObjects, const FVector &Force, bool bInvalidate)
 
CHAOS_API void AddTorque (TArrayView< const FPhysicsObjectHandle > InObjects, const FVector &Torque, bool bInvalidate)
 
CHAOS_API void AddTorque (TArrayView< const FPhysicsObjectHandle > InObjects, const FVector &Torque, bool bInvalidate, bool bAccelChange=false)
 
CHAOS_API void SetLinearImpulseVelocity (TArrayView< const FPhysicsObjectHandle > InObjects, const FVector &Impulse, bool bVelChange)
 
CHAOS_API void SetLinearVelocity (TArrayView< const FPhysicsObjectHandle > InObjects, const FVector &InVelocity, bool bAddToCurrent=false)
 
CHAOS_API void SetAngularVelocityInRadians (TArrayView< const FPhysicsObjectHandle > InObjects, const FVector &InAngularVelocity, bool bAddToCurrent=false)
 
CHAOS_API void AddRadialImpulse (TArrayView< const FPhysicsObjectHandle > InObjects, FVector Origin, float Radius, float Strength, enum ERadialImpulseFalloff Falloff, bool bApplyStrain, bool bInvalidate, bool bVelChange=false)
 
CHAOS_API void AddRadialImpulse (TArrayView< const FPhysicsObjectHandle > InObjects, FVector Origin, float Radius, float Strength, enum ERadialImpulseFalloff Falloff, bool bApplyStrain, float Strain, bool bInvalidate, bool bVelChange=false, float MinValue=0.f, float MaxValue=1.f)
 
CHAOS_API void SetLinearEtherDrag (TArrayView< const FPhysicsObjectHandle > InObjects, float InLinearDrag)
 
CHAOS_API void SetAngularEtherDrag (TArrayView< const FPhysicsObjectHandle > InObjects, float InAngularDrag)
 
CHAOS_API void UpdateShapeCollisionFlags (TArrayView< const FPhysicsObjectHandle > InObjects, bool bSimCollision, bool bQueryCollision)
 
CHAOS_API void UpdateShapeFilterData (TArrayView< const FPhysicsObjectHandle > InObjects, const FCollisionFilterData &QueryData, const FCollisionFilterData &SimData)
 
CHAOS_API void UpdateCombinedShapeFilterData (TArrayView< const FPhysicsObjectHandle > InObjects, const Chaos::Filter::FCombinedShapeFilterData &CombinedShapeFilter)
 
template<typename TPayloadType , typename T , int d>
void AddToSpatialAcceleration (TArrayView< const FPhysicsObjectHandle > InObjects, ISpatialAcceleration< TPayloadType, T, d > *SpatialAcceleration)
 
template<typename TPayloadType , typename T , int d>
void RemoveFromSpatialAcceleration (TArrayView< const FPhysicsObjectHandle > InObjects, ISpatialAcceleration< TPayloadType, T, d > *SpatialAcceleration)
 
CHAOS_API void AddConnectivityEdgesBetween (TArrayView< const FPhysicsObjectHandle > FromObjects, TArrayView< const FPhysicsObjectHandle > ToObjects, const FClusterCreationParameters &Parameters)
 
- Public Member Functions inherited from Chaos::FReadPhysicsObjectInterface< Id >
CHAOS_API FPhysicsObjectHandle GetRootObject (const FConstPhysicsObjectHandle Object)
 
CHAOS_API bool HasChildren (const FConstPhysicsObjectHandle Object)
 
CHAOS_API FChaosUserDefinedEntityGetUserDefinedEntity (const FConstPhysicsObjectHandle Object)
 
CHAOS_API int32 GetClusterHierarchyLevel (const FConstPhysicsObjectHandle Object)
 
CHAOS_API FTransform GetTransform (const FConstPhysicsObjectHandle Object)
 
CHAOS_API FVector GetX (const FConstPhysicsObjectHandle Object)
 
CHAOS_API FVector GetCoM (const FConstPhysicsObjectHandle Object)
 
CHAOS_API FVector GetWorldCoM (const FConstPhysicsObjectHandle Object)
 
CHAOS_API FQuat GetR (const FConstPhysicsObjectHandle Object)
 
CHAOS_API FVector GetV (const FConstPhysicsObjectHandle Object)
 
CHAOS_API FVector GetVAtPoint (const FConstPhysicsObjectHandle Object, const FVector &Point)
 
CHAOS_API FVector GetW (const FConstPhysicsObjectHandle Object)
 
CHAOS_API FSpatialAccelerationIdx GetSpatialIndex (const FConstPhysicsObjectHandle Object)
 
CHAOS_API TThreadParticle< Id > * GetParticle (const FConstPhysicsObjectHandle Object)
 
CHAOS_API TThreadKinematicParticle< Id > * GetKinematicParticle (const FConstPhysicsObjectHandle Object)
 
CHAOS_API TThreadRigidParticle< Id > * GetRigidParticle (const FConstPhysicsObjectHandle Object)
 
CHAOS_API TArray< TThreadParticle< Id > * > GetAllParticles (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API TArray< TThreadRigidParticle< Id > * > GetAllRigidParticles (TArrayView< const FConstPhysicsObjectHandle > InObjects, bool bIncludeNulls=false)
 
CHAOS_API TArray< FPerShapeData * > GetAllShapes (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API TArray< TThreadShapeInstance< Id > * > GetAllThreadShapes (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API FImplicitObjectRef GetGeometry (const FConstPhysicsObjectHandle Handle)
 
CHAOS_API void VisitEveryShape (TArrayView< const FConstPhysicsObjectHandle > InObjects, TFunctionRef< bool(const FConstPhysicsObjectHandle, TThreadShapeInstance< Id > *)> Lambda)
 
CHAOS_API bool AreAllValid (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API bool AreAllKinematic (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API bool AreAllSleeping (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API bool AreAllRigidBody (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API bool AreAllDynamic (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API bool AreAllDynamicOrSleeping (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API bool AreAllDisabled (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API bool AreAllShapesQueryEnabled (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API float GetMass (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API FBox GetBounds (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API FBox GetWorldBounds (TArrayView< const FConstPhysicsObjectHandle > InObjects)
 
CHAOS_API FClosestPhysicsObjectResult GetClosestPhysicsBodyFromLocation (TArrayView< const FConstPhysicsObjectHandle > InObjects, const FVector &WorldLocation)
 
CHAOS_API FAccelerationStructureHandle CreateAccelerationStructureHandle (const FConstPhysicsObjectHandle Handle)
 

Protected Member Functions

 FWritePhysicsObjectInterface ()=default
 
- Protected Member Functions inherited from Chaos::FReadPhysicsObjectInterface< Id >
 FReadPhysicsObjectInterface ()=default
 

Friends

class FPhysicsObjectInterface
 

Detailed Description

template<EThreadContext Id>
class Chaos::FWritePhysicsObjectInterface< Id >

FReadPhysicsObjectInterface will assume that these operations are safe to call (i.e. the relevant scenes have been read locked on the physics thread).

Constructor & Destructor Documentation

◆ FWritePhysicsObjectInterface()

template<EThreadContext Id>
Chaos::FWritePhysicsObjectInterface< Id >::FWritePhysicsObjectInterface ( )
protecteddefault

Member Function Documentation

◆ AddConnectivityEdgesBetween()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::AddConnectivityEdgesBetween ( TArrayView< const FPhysicsObjectHandle FromObjects,
TArrayView< const FPhysicsObjectHandle ToObjects,
const FClusterCreationParameters Parameters 
)

◆ AddForce()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::AddForce ( TArrayView< const FPhysicsObjectHandle InObjects,
const FVector Force,
bool  bInvalidate 
)

◆ AddRadialImpulse() [1/2]

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::AddRadialImpulse ( TArrayView< const FPhysicsObjectHandle InObjects,
FVector  Origin,
float  Radius,
float  Strength,
enum ERadialImpulseFalloff  Falloff,
bool  bApplyStrain,
bool  bInvalidate,
bool  bVelChange = false 
)

◆ AddRadialImpulse() [2/2]

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::AddRadialImpulse ( TArrayView< const FPhysicsObjectHandle InObjects,
FVector  Origin,
float  Radius,
float  Strength,
enum ERadialImpulseFalloff  Falloff,
bool  bApplyStrain,
float  Strain,
bool  bInvalidate,
bool  bVelChange = false,
float  MinValue = 0.f,
float  MaxValue = 1.f 
)

◆ AddTorque() [1/2]

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::AddTorque ( TArrayView< const FPhysicsObjectHandle InObjects,
const FVector Torque,
bool  bInvalidate 
)

◆ AddTorque() [2/2]

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::AddTorque ( TArrayView< const FPhysicsObjectHandle InObjects,
const FVector Torque,
bool  bInvalidate,
bool  bAccelChange = false 
)

◆ AddToSpatialAcceleration()

template<EThreadContext Id>
template<typename TPayloadType , typename T , int d>
void Chaos::FWritePhysicsObjectInterface< Id >::AddToSpatialAcceleration ( TArrayView< const FPhysicsObjectHandle InObjects,
ISpatialAcceleration< TPayloadType, T, d > *  SpatialAcceleration 
)
inline

◆ ForceKinematic()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::ForceKinematic ( TArrayView< const FPhysicsObjectHandle InObjects)

◆ PutToSleep()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::PutToSleep ( TArrayView< const FPhysicsObjectHandle InObjects)

◆ RemoveFromSpatialAcceleration()

template<EThreadContext Id>
template<typename TPayloadType , typename T , int d>
void Chaos::FWritePhysicsObjectInterface< Id >::RemoveFromSpatialAcceleration ( TArrayView< const FPhysicsObjectHandle InObjects,
ISpatialAcceleration< TPayloadType, T, d > *  SpatialAcceleration 
)
inline

◆ SetAngularEtherDrag()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::SetAngularEtherDrag ( TArrayView< const FPhysicsObjectHandle InObjects,
float  InAngularDrag 
)

◆ SetAngularVelocityInRadians()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::SetAngularVelocityInRadians ( TArrayView< const FPhysicsObjectHandle InObjects,
const FVector InAngularVelocity,
bool  bAddToCurrent = false 
)

◆ SetLinearEtherDrag()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::SetLinearEtherDrag ( TArrayView< const FPhysicsObjectHandle InObjects,
float  InLinearDrag 
)

◆ SetLinearImpulseVelocity()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::SetLinearImpulseVelocity ( TArrayView< const FPhysicsObjectHandle InObjects,
const FVector Impulse,
bool  bVelChange 
)

◆ SetLinearVelocity()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::SetLinearVelocity ( TArrayView< const FPhysicsObjectHandle InObjects,
const FVector InVelocity,
bool  bAddToCurrent = false 
)

◆ SetUserDefinedEntity()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::SetUserDefinedEntity ( TArrayView< const FPhysicsObjectHandle InObjects,
FChaosUserDefinedEntity UserDefinedEntity 
)

◆ UpdateCombinedShapeFilterData()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::UpdateCombinedShapeFilterData ( TArrayView< const FPhysicsObjectHandle InObjects,
const Chaos::Filter::FCombinedShapeFilterData CombinedShapeFilter 
)

◆ UpdateShapeCollisionFlags()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::UpdateShapeCollisionFlags ( TArrayView< const FPhysicsObjectHandle InObjects,
bool  bSimCollision,
bool  bQueryCollision 
)

◆ UpdateShapeFilterData()

template<EThreadContext Id>
void Chaos::FWritePhysicsObjectInterface< Id >::UpdateShapeFilterData ( TArrayView< const FPhysicsObjectHandle InObjects,
const FCollisionFilterData QueryData,
const FCollisionFilterData SimData 
)

◆ WakeUp()

Friends And Related Symbol Documentation

◆ FPhysicsObjectInterface

template<EThreadContext Id>
friend class FPhysicsObjectInterface
friend

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