UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent > Class Template Reference

#include <ParticleHandle.h>

+ Inheritance diagram for Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >:

Public Types

using TTransientHandle = TTransientKinematicGeometryParticleHandle< T, d >
 
using TSOAType = TKinematicGeometryParticles< T, d >
 
- Public Types inherited from Chaos::TGeometryParticleHandleImp< T, d, bPersistent >
using FDynamicParticleHandleType = TPBDRigidParticleHandleImp< T, d, bPersistent >
 
using FKinematicParticleHandleType = TKinematicGeometryParticleHandleImp< T, d, bPersistent >
 
using TTransientHandle = TTransientGeometryParticleHandle< T, d >
 
using THandleBase = TParticleHandleBase< T, d >
 
using TSOAType = TGeometryParticles< T, d >
 
- Public Types inherited from Chaos::TParticleHandleBase< T, d >
using TType = T
 

Public Member Functions

TSerializablePtr< TKinematicGeometryParticleHandleImp< T, d, bPersistent > > ToSerializable () const
 
const TVector< T, d > V () const
 
TVector< T, d > V ()
 
const TVector< T, d > GetV () const
 
void SetV (const TVector< T, d > &InV, bool bInvalidate=false)
 
const TVector< FRealSingle, d > GetVf () const
 
void SetVf (const TVector< FRealSingle, d > &InV, bool bInvalidate=false)
 
const TVector< T, d > W () const
 
TVector< T, d > W ()
 
const TVector< T, d > GetW () const
 
void SetW (const TVector< T, d > &InW, bool bInvalidate=false)
 
const TVector< FRealSingle, d > GetWf () const
 
void SetWf (const TVector< FRealSingle, d > &InW, bool bInvalidate=false)
 
void SetVelocities (const FParticleVelocities &Velocities)
 
void SetKinematicTarget (const FKinematicTarget &InKinematicTarget, bool bInvalidate=true)
 
const FKinematicTargetKinematicTarget () const
 
FKinematicTargetKinematicTarget ()
 
const TKinematicGeometryParticleHandleImp< T, d, true > * Handle () const
 
TKinematicGeometryParticleHandleImp< T, d, true > * Handle ()
 
EObjectStateType ObjectState () const
 
- Public Member Functions inherited from Chaos::TGeometryParticleHandleImp< T, d, bPersistent >
template<typename TPayloadType >
TPayloadType GetPayload (int32 Idx)
 
 ~TGeometryParticleHandleImp ()
 
TGeometryParticleHandleImp< T, d, falseAsTransient ()
 
 TGeometryParticleHandleImp (const TGeometryParticleHandleImp &)=delete
 
const TVector< T, d > & X () const
 
TVector< T, d > & X ()
 
const TVector< T, d > & GetX () const
 
void SetX (const TVector< T, d > &InX, bool bInvalidate=false)
 
FUniqueIdx UniqueIdx () const
 
void SetUniqueIdx (const FUniqueIdx UniqueIdx, bool bInvalidate=false) const
 
const TRotation< T, d > R () const
 
TRotation< T, d > R ()
 
const TRotation< T, d > GetR () const
 
void SetR (const TRotation< T, d > &InR, bool bInvalidate=false)
 
const TRotation< FRealSingle, d > GetRf () const
 
void SetRf (const TRotation< FRealSingle, d > &InR, bool bInvalidate=false)
 
FRigidTransform3 GetTransformXR () const
 
void InitTransform (const FVec3 &InP, const FRotation3 &InQ)
 
void SetXR (const FParticlePositionRotation &XR)
 
void SetNonFrequentData (const FParticleNonFrequentData &InData)
 
bool HasCollision () const
 
void SetHasCollision (const bool bHasCollision)
 
ESyncState SyncState () const
 
void SetSyncState (ESyncState State)
 
const FImplicitObjectRef GetGeometry () const
 
void SetGeometry (const FImplicitObjectPtr &InGeometry)
 
void MergeGeometry (TArray< Chaos::FImplicitObjectPtr > &&Objects)
 
void LockGeometry ()
 
TSerializablePtr< FImplicitObjectGeometry () const
 
void SetGeometry (TSerializablePtr< FImplicitObject > InGeometry)
 
TSharedPtr< const FImplicitObject, ESPMode::ThreadSafeSharedGeometry () const
 
void SetSharedGeometry (TSharedPtr< const FImplicitObject, ESPMode::ThreadSafe > InGeometry)
 
const TSharedPtr< const FImplicitObject, ESPMode::ThreadSafe > & SharedGeometryLowLevel () const
 
const TUniquePtr< FImplicitObject > & DynamicGeometry () const
 
void SetDynamicGeometry (TUniquePtr< FImplicitObject > &&Unique)
 
const FShapesArrayShapesArray () const
 
const FShapeInstanceArrayShapeInstances () const
 
void RemoveShape (FPerShapeData *InShape)
 
void RemoveShapesAtSortedIndices (const TArrayView< const int32 > &InIndices)
 
const TAABB< T, d > & LocalBounds () const
 
void SetLocalBounds (const TAABB< T, d > &NewBounds)
 
const TVector< T, d > & CCDAxisThreshold () const
 
const TAABB< T, d > & WorldSpaceInflatedBounds () const
 
void UpdateWorldSpaceState (const FRigidTransform3 &WorldTransform, const FVec3 &BoundsExpansion)
 Update any cached state that depends on world-space transform This includes the world space bounds for the particle and all its shapes.
 
void UpdateWorldSpaceStateSwept (const FRigidTransform3 &WorldTransform, const FVec3 &BoundsExpansion, const FVec3 &DeltaX)
 Update any cached state that depends on world-space transform for a sweep between WorldTransform and WorldTransform + DeltaX.
 
bool HasBounds () const
 
void SetHasBounds (bool bHasBounds)
 
FSpatialAccelerationIdx SpatialIdx () const
 
void SetSpatialIdx (FSpatialAccelerationIdx Idx)
 
const FString & GetDebugName () const
 
EObjectStateType ObjectState () const
 
TGeometryParticle< T, d > * GTGeometryParticle () const
 
TGeometryParticle< T, d > *& GTGeometryParticle ()
 
const IPhysicsProxyBasePhysicsProxy () const
 
IPhysicsProxyBasePhysicsProxy ()
 
void SetPhysicsProxy (IPhysicsProxyBase *PhysicsProxy)
 
const TKinematicGeometryParticleHandleImp< T, d, bPersistent > * CastToKinematicParticle () const
 
TKinematicGeometryParticleHandleImp< T, d, bPersistent > * CastToKinematicParticle ()
 
const TPBDRigidParticleHandleImp< T, d, bPersistent > * CastToRigidParticle () const
 
TPBDRigidParticleHandleImp< T, d, bPersistent > * CastToRigidParticle ()
 
const TPBDRigidClusteredParticleHandleImp< T, d, bPersistent > * CastToClustered () const
 
TPBDRigidClusteredParticleHandleImp< T, d, bPersistent > * CastToClustered ()
 
const TPBDGeometryCollectionParticleHandleImp< T, d, bPersistent > * CastToGeometryCollection () const
 
TPBDGeometryCollectionParticleHandleImp< T, d, bPersistent > * CastToGeometryCollection ()
 
const TGeometryParticleHandle< T, d > * Handle () const
 
TGeometryParticleHandle< T, d > * Handle ()
 
int32 GetHandleIdx () const
 
bool Sleeping () const
 
template<typename Container >
const autoAuxilaryValue (const Container &AuxContainer) const
 
template<typename Container >
autoAuxilaryValue (Container &AuxContainer)
 
EResimType ResimType () const
 
void SetResimType (EResimType ResimType)
 
bool EnabledDuringResim () const
 
void SetEnabledDuringResim (bool bEnabledDuringResim)
 
bool LightWeightDisabled () const
 
void SetLightWeightDisabled (bool bLightWeightDisabled)
 
EGeometryParticleListMask ListMask () const
 
bool IsInAnyList (const EGeometryParticleListMask ListMask) const
 
bool IsInAllLists (const EGeometryParticleListMask ListMask) const
 
void AddToLists (const EGeometryParticleListMask ListMask)
 
void RemoveFromLists (const EGeometryParticleListMask ListMask)
 
void MoveToSOA (TGeometryParticles< T, d > &ToSOA)
 
FString ToString () const
 
void Serialize (FChaosArchive &Ar)
 
FWeakParticleHandleWeakParticleHandle ()
 
FConstraintHandleArrayParticleConstraints ()
 
const FConstraintHandleArrayParticleConstraints () const
 
void AddConstraintHandle (FConstraintHandle *InConstraintHandle)
 
void RemoveConstraintHandle (FConstraintHandle *InConstraintHandle)
 
FParticleCollisionsParticleCollisions ()
 
const FParticleCollisionsParticleCollisions () const
 
bool IsInConstraintGraph () const
 
Private::FPBDIslandParticleGetConstraintGraphNode () const
 
void SetConstraintGraphNode (Private::FPBDIslandParticle *InNode)
 
 UE_DEPRECATED (5.3, "Use GetConstraintGraphNode()") int32 ConstraintGraphIndex() const
 
 UE_DEPRECATED (5.3, "Use GetConstraintGraphNode()") void SetConstraintGraphIndex(const int32 InGraphIndex)
 
int32 GetPayload (int32 Idx)
 
int32 GetPayload (int32 Idx)
 
int32 GetPayload (int32 Idx)
 
int32 GetPayload (int32 Idx)
 
- Public Member Functions inherited from Chaos::TParticleHandleBase< T, d >
 TParticleHandleBase ()
 
template<typename TParticlesType >
 TParticleHandleBase (TSerializablePtr< TParticlesType > InParticles, int32 InParticleIdx)
 
 TParticleHandleBase (TGeometryParticles< T, d > *InParticles, int32 InParticleIdx)
 
 ~TParticleHandleBase ()
 
void Serialize (FChaosArchive &Ar)
 
void SetSOALowLevel (TGeometryParticles< T, d > *InParticles)
 
EParticleType GetParticleType () const
 

Static Public Member Functions

static TUniquePtr< TKinematicGeometryParticleHandleImp< T, d, bPersistent > > CreateParticleHandle (TSerializablePtr< TKinematicGeometryParticles< T, d > > InParticles, int32 InParticleIdx, int32 InHandleIdx, const FKinematicGeometryParticleParameters &Params=FKinematicGeometryParticleParameters())
 
static constexpr EParticleType StaticType ()
 
- Static Public Member Functions inherited from Chaos::TGeometryParticleHandleImp< T, d, bPersistent >
static TGeometryParticleHandleImp< T, d, bPersistent > * SerializationFactory (FChaosArchive &Ar, TGeometryParticleHandleImp< T, d, bPersistent > *Handle)
 
static TUniquePtr< TGeometryParticleHandleImp< T, d, bPersistent > > CreateParticleHandle (TSerializablePtr< TGeometryParticles< T, d > > InParticles, int32 InParticleIdx, int32 InHandleIdx, const FGeometryParticleParameters &Params=FGeometryParticleParameters())
 
static constexpr EParticleType StaticType ()
 

Protected Member Functions

 TKinematicGeometryParticleHandleImp ()
 
 TKinematicGeometryParticleHandleImp (TSerializablePtr< TKinematicGeometryParticles< T, d > > Particles, int32 InIdx, int32 InGlobalIdx, const FKinematicGeometryParticleParameters &Params)
 
- Protected Member Functions inherited from Chaos::TGeometryParticleHandleImp< T, d, bPersistent >
 TGeometryParticleHandleImp ()
 
 TGeometryParticleHandleImp (TSerializablePtr< TGeometryParticles< T, d > > InParticles, int32 InParticleIdx, int32 InHandleIdx, const FGeometryParticleParameters &Params)
 
 TGeometryParticleHandleImp (TGeometryParticles< T, d > *InParticles, const int32 InParticleIdx)
 

Friends

class TGeometryParticleHandleImp< T, d, bPersistent >
 

Additional Inherited Members

- Public Attributes inherited from Chaos::TGeometryParticleHandleImp< T, d, bPersistent >
TGeometryParticles< T, d > * GeometryParticles
 
int32 ParticleIdx
 
EParticleType Type
 
- Static Public Attributes inherited from Chaos::TGeometryParticleHandleImp< T, d, bPersistent >
static constexpr bool AlwaysSerializable = bPersistent
 
- Static Public Attributes inherited from Chaos::TParticleHandleBase< T, d >
static constexpr int D = d
 
- Static Protected Member Functions inherited from Chaos::TGeometryParticleHandleImp< T, d, bPersistent >
template<typename TParticlesType , typename TParams >
static TUniquePtr< typename TParticlesType::THandleType > CreateParticleHandleHelper (TSerializablePtr< TParticlesType > InParticles, int32 InParticleIdx, int32 InHandleIdx, const TParams &Params)
 
- Protected Attributes inherited from Chaos::TGeometryParticleHandleImp< T, d, bPersistent >
friend TGeometryParticleHandles< T, d >
 
std::conditional_t< bPersistent, int32, FInvalidFromTransientHandleIdx
 
- Protected Attributes inherited from Chaos::TParticleHandleBase< T, d >
union { 
 
   TSerializablePtr< TGeometryParticles< T, d > >   SerializableGeometryParticles 
 
   TGeometryParticles< T, d > *   GeometryParticles 
 
   TKinematicGeometryParticles< T, d > *   KinematicGeometryParticles 
 
   TPBDRigidParticles< T, d > *   PBDRigidParticles 
 
   TPBDRigidClusteredParticles< T, d > *   PBDRigidClusteredParticles 
 
};  
 
int32 ParticleIdx
 
EParticleType Type
 

Member Typedef Documentation

◆ TSOAType

template<typename T , int d, bool bPersistent>
using Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::TSOAType = TKinematicGeometryParticles<T, d>

◆ TTransientHandle

template<typename T , int d, bool bPersistent>
using Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::TTransientHandle = TTransientKinematicGeometryParticleHandle<T, d>

Constructor & Destructor Documentation

◆ TKinematicGeometryParticleHandleImp() [1/2]

template<typename T , int d, bool bPersistent>
Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::TKinematicGeometryParticleHandleImp ( )
inlineprotected

◆ TKinematicGeometryParticleHandleImp() [2/2]

template<typename T , int d, bool bPersistent>
Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::TKinematicGeometryParticleHandleImp ( TSerializablePtr< TKinematicGeometryParticles< T, d > >  Particles,
int32  InIdx,
int32  InGlobalIdx,
const FKinematicGeometryParticleParameters Params 
)
inlineprotected

Member Function Documentation

◆ CreateParticleHandle()

template<typename T , int d, bool bPersistent>
static TUniquePtr< TKinematicGeometryParticleHandleImp< T, d, bPersistent > > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::CreateParticleHandle ( TSerializablePtr< TKinematicGeometryParticles< T, d > >  InParticles,
int32  InParticleIdx,
int32  InHandleIdx,
const FKinematicGeometryParticleParameters Params = FKinematicGeometryParticleParameters() 
)
inlinestatic

◆ GetV()

template<typename T , int d, bool bPersistent>
const TVector< T, d > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::GetV ( ) const
inline

◆ GetVf()

template<typename T , int d, bool bPersistent>
const TVector< FRealSingle, d > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::GetVf ( ) const
inline

◆ GetW()

template<typename T , int d, bool bPersistent>
const TVector< T, d > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::GetW ( ) const
inline

◆ GetWf()

template<typename T , int d, bool bPersistent>
const TVector< FRealSingle, d > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::GetWf ( ) const
inline

◆ Handle() [1/2]

template<typename T , int d, bool bPersistent>
TKinematicGeometryParticleHandleImp< T, d, true > * Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::Handle ( )
inline

◆ Handle() [2/2]

template<typename T , int d, bool bPersistent>
const TKinematicGeometryParticleHandleImp< T, d, true > * Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::Handle ( ) const
inline

◆ KinematicTarget() [1/2]

template<typename T , int d, bool bPersistent>
FKinematicTarget & Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::KinematicTarget ( )
inline

◆ KinematicTarget() [2/2]

template<typename T , int d, bool bPersistent>
const FKinematicTarget & Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::KinematicTarget ( ) const
inline

◆ ObjectState()

template<typename T , int d, bool bPersistent>
EObjectStateType Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::ObjectState ( ) const

◆ SetKinematicTarget()

template<typename T , int d, bool bPersistent>
void Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::SetKinematicTarget ( const FKinematicTarget InKinematicTarget,
bool  bInvalidate = true 
)
inline

◆ SetV()

template<typename T , int d, bool bPersistent>
void Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::SetV ( const TVector< T, d > &  InV,
bool  bInvalidate = false 
)
inline

◆ SetVelocities()

template<typename T , int d, bool bPersistent>
void Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::SetVelocities ( const FParticleVelocities Velocities)
inline

◆ SetVf()

template<typename T , int d, bool bPersistent>
void Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::SetVf ( const TVector< FRealSingle, d > &  InV,
bool  bInvalidate = false 
)
inline

◆ SetW()

template<typename T , int d, bool bPersistent>
void Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::SetW ( const TVector< T, d > &  InW,
bool  bInvalidate = false 
)
inline

◆ SetWf()

template<typename T , int d, bool bPersistent>
void Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::SetWf ( const TVector< FRealSingle, d > &  InW,
bool  bInvalidate = false 
)
inline

◆ StaticType()

template<typename T , int d, bool bPersistent>
static constexpr EParticleType Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::StaticType ( )
inlinestaticconstexpr

◆ ToSerializable()

template<typename T , int d, bool bPersistent>
TSerializablePtr< TKinematicGeometryParticleHandleImp< T, d, bPersistent > > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::ToSerializable ( ) const
inline

◆ V() [1/2]

template<typename T , int d, bool bPersistent>
TVector< T, d > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::V ( )
inline

◆ V() [2/2]

template<typename T , int d, bool bPersistent>
const TVector< T, d > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::V ( ) const
inline

◆ W() [1/2]

template<typename T , int d, bool bPersistent>
TVector< T, d > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::W ( )
inline

◆ W() [2/2]

template<typename T , int d, bool bPersistent>
const TVector< T, d > Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >::W ( ) const
inline

Friends And Related Symbol Documentation

◆ TGeometryParticleHandleImp< T, d, bPersistent >

template<typename T , int d, bool bPersistent>
friend class TGeometryParticleHandleImp< T, d, bPersistent >
friend

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