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

#include <ParticleHandle.h>

+ Inheritance diagram for Chaos::TKinematicGeometryParticle< T, d >:

Public Types

typedef TKinematicGeometryParticleHandle< T, d > FHandle
 
using Base = TGeometryParticle< T, d >
 
- Public Types inherited from Chaos::TGeometryParticle< T, d >
typedef TGeometryParticleHandle< T, d > FHandle
 

Public Member Functions

virtual void Serialize (FChaosArchive &Ar) override
 
const TVector< T, d > V () const
 
const TVector< T, d > GetV () const
 
void SetV (const TVector< T, d > &InV, bool bInvalidate=true)
 
const TVector< T, d > W () const
 
const TVector< T, d > GetW () const
 
void SetW (const TVector< T, d > &InW, bool bInvalidate=true)
 
const FKinematicTarget KinematicTarget () const
 
void SetKinematicTarget (const FKinematicTarget &KinematicTarget, bool bInvalidate=true)
 
bool IsKinematicTargetDirty () const
 
void ClearKinematicTarget ()
 
const FParticleVelocitiesVelocities () const
 
void SetVelocities (const FParticleVelocities &InVelocities, bool bInvalidate=true)
 
EObjectStateType ObjectState () const
 
- Public Member Functions inherited from Chaos::TGeometryParticle< T, d >
virtual ~TGeometryParticle ()
 
 TGeometryParticle (const TGeometryParticle &)=delete
 
TGeometryParticleoperator= (const TGeometryParticle &)=delete
 
virtual bool IsParticleValid () const
 
const TVector< T, d > & X () const
 
const TVector< T, d > & GetX () const
 
void SetX (const TVector< T, d > &InX, bool bInvalidate=true)
 
FUniqueIdx UniqueIdx () const
 
void SetUniqueIdx (const FUniqueIdx UniqueIdx, bool bInvalidate=true)
 
const FParticleIDParticleID () const
 
void SetParticleID (const FParticleID &ParticleID, bool bInvalidate=true)
 
const TRotation< T, d > R () const
 
const TRotation< T, d > GetR () const
 
void SetR (const TRotation< T, d > &InR, bool bInvalidate=true)
 
const FParticlePositionRotationXR () const
 
void SetXR (const FParticlePositionRotation &InXR, bool bInvalidate=true)
 
void SetGeometry (Chaos::FImplicitObjectPtr ImplicitObjectPtr)
 
CHAOS_API void MergeGeometry (TArray< Chaos::FImplicitObjectPtr > &&Objects)
 
const FImplicitObjectRef GetGeometry () const
 
void LockGeometry ()
 
void SetGeometry (TUniquePtr< FImplicitObject > &&UniqueGeometry)
 
void SetGeometry (TSharedPtr< FImplicitObject, ESPMode::ThreadSafe > SharedGeometry)
 
void SetGeometry (TSerializablePtr< FImplicitObject > RawGeometry)
 
void MergeGeometry (TArray< TUniquePtr< FImplicitObject > > &&Objects)
 
TSharedPtr< const FImplicitObject, ESPMode::ThreadSafeSharedGeometryLowLevel () const
 
TSerializablePtr< FImplicitObjectGeometry () const
 
CHAOS_API void RemoveShape (FPerShapeData *InShape, bool bWakeTouching)
 
CHAOS_API void RemoveShapesAtSortedIndices (const TArrayView< const int32 > &InIndices)
 
voidUserData () const
 
void SetUserData (void *InUserData)
 
void UpdateShapeBounds ()
 
void UpdateShapeBounds (const FRigidTransform3 &Transform)
 
void SetShapeSimCollisionEnabled (int32 InShapeIndex, bool bInEnabled)
 
void SetShapeQueryCollisionEnabled (int32 InShapeIndex, bool bInEnabled)
 
void SetShapeCollisionTraceType (int32 InShapeIndex, EChaosCollisionTraceFlag TraceType)
 
void SetShapeSimData (int32 InShapeIndex, const FCollisionFilterData &SimData)
 
const FString & GetDebugName () const
 
void MergeShapesArray (FShapesArray &&InShapesArray)
 
const FShapesArrayShapesArray () const
 
const FShapeInstanceProxyArrayShapeInstances () const
 
void SetShapeInstances (FShapeInstanceProxyArray &&InShapes)
 
void MergeShapeInstances (FShapeInstanceProxyArray &&InShapes)
 
void SetIgnoreAnalyticCollisionsImp (FImplicitObject *Implicit, bool bIgnoreAnalyticCollisions)
 
CHAOS_API void SetIgnoreAnalyticCollisions (bool bIgnoreAnalyticCollisions)
 
EObjectStateType ObjectState () const
 
EParticleType ObjectType () const
 
const TKinematicGeometryParticle< T, d > * CastToKinematicParticle () const
 
TKinematicGeometryParticle< T, d > * CastToKinematicParticle ()
 
const TPBDRigidParticle< T, d > * CastToRigidParticle () const
 
TPBDRigidParticle< T, d > * CastToRigidParticle ()
 
FSpatialAccelerationIdx SpatialIdx () const
 
void SetSpatialIdx (FSpatialAccelerationIdx Idx)
 
void SetResimType (EResimType ResimType)
 
EResimType ResimType () const
 
void SetEnabledDuringResim (bool bEnabledDuringResim)
 
bool EnabledDuringResim () const
 
void SetNonFrequentData (const FParticleNonFrequentData &InData)
 
bool IsDirty () const
 
bool IsClean () const
 
bool IsDirty (const EChaosPropertyFlags CheckBits) const
 
void ForceDirty (EChaosPropertyFlags CheckBits)
 
const FDirtyChaosPropertyFlagsDirtyFlags () const
 
void ClearDirtyFlags ()
 
TGeometryParticleHandle< T, d > * Handle () const
 
void SyncRemoteData (FDirtyPropertiesManager &Manager, int32 DataIdx, FDirtyChaosProperties &RemoteData, const TArray< int32 > &ShapeDataIndices, FShapeDirtyData *ShapesRemoteData) const
 
void PrepareBVH ()
 
class IPhysicsProxyBaseGetProxy () const
 
void SetProxy (IPhysicsProxyBase *InProxy)
 
const TSharedPtr< const FImplicitObject, ESPMode::ThreadSafe > & GeometrySharedLowLevel () const
 

Static Public Member Functions

static TUniquePtr< TKinematicGeometryParticle< T, d > > CreateParticle (const FKinematicGeometryParticleParameters &Params=FKinematicGeometryParticleParameters())
 
static TKinematicGeometryParticle< T, d > * Cast (TGeometryParticle< T, d > *Particle)
 
static const TKinematicGeometryParticle< T, d > * Cast (const TGeometryParticle< T, d > *Particle)
 
- Static Public Member Functions inherited from Chaos::TGeometryParticle< T, d >
static TUniquePtr< TGeometryParticle< T, d > > CreateParticle (const FGeometryParticleParameters &Params=FGeometryParticleParameters())
 
static TGeometryParticle< T, d > * SerializationFactory (FChaosArchive &Ar, TGeometryParticle< T, d > *Serializable)
 

Public Attributes

FDirtyChaosPropertyFlags MDirtyFlags
 

Protected Member Functions

 TKinematicGeometryParticle (const FKinematicGeometryParticleParameters &KinematicParams=FKinematicGeometryParticleParameters())
 
virtual void SyncRemoteDataImp (FDirtyPropertiesManager &Manager, int32 DataIdx, const FDirtyChaosProperties &RemoteData) const
 
- Protected Member Functions inherited from Chaos::TGeometryParticle< T, d >
 TGeometryParticle (const FGeometryParticleParameters &StaticParams=FGeometryParticleParameters())
 
template<typename Lambda >
void ModifyGeometry (const Lambda &Func, const bool bDirectAccess=false)
 
template<typename Lambda >
void ModifyGeometry (EGeometryAccess AccessType, const Lambda &Func)
 
void MarkDirty (const EChaosPropertyFlags DirtyBits, bool bInvalidate=true)
 
CHAOS_API void UpdateShapesArray ()
 
void PrepareBVHImpl ()
 
void MarkDirty (const EChaosPropertyFlags DirtyBits, bool bInvalidate)
 
CHAOS_API void MarkDirty (const EChaosPropertyFlags DirtyBits, bool bInvalidate)
 

Protected Attributes

class IPhysicsProxyBaseProxy
 
- Protected Attributes inherited from Chaos::TGeometryParticle< T, d >
class IPhysicsProxyBaseProxy
 
EParticleType Type
 
FDirtyChaosPropertyFlags MDirtyFlags
 

Friends

TGeometryParticle< T, d > * TGeometryParticle (FChaosArchive &Ar, TGeometryParticle< T, d > *Serializable)
 

Additional Inherited Members

- Static Public Attributes inherited from Chaos::TGeometryParticle< T, d >
static constexpr bool AlwaysSerializable = true
 
- Protected Types inherited from Chaos::TGeometryParticle< T, d >
enum class  EGeometryAccess { Direct , ShallowCopy , DeepCopy }
 

Member Typedef Documentation

◆ Base

template<typename T , int d>
using Chaos::TKinematicGeometryParticle< T, d >::Base = TGeometryParticle<T,d>

◆ FHandle

Constructor & Destructor Documentation

◆ TKinematicGeometryParticle()

template<typename T , int d>
Chaos::TKinematicGeometryParticle< T, d >::TKinematicGeometryParticle ( const FKinematicGeometryParticleParameters KinematicParams = FKinematicGeometryParticleParameters())
inlineprotected

Member Function Documentation

◆ Cast() [1/2]

template<typename T , int d>
static const TKinematicGeometryParticle< T, d > * Chaos::TKinematicGeometryParticle< T, d >::Cast ( const TGeometryParticle< T, d > *  Particle)
inlinestatic

◆ Cast() [2/2]

template<typename T , int d>
static TKinematicGeometryParticle< T, d > * Chaos::TKinematicGeometryParticle< T, d >::Cast ( TGeometryParticle< T, d > *  Particle)
inlinestatic

◆ ClearKinematicTarget()

template<typename T , int d>
void Chaos::TKinematicGeometryParticle< T, d >::ClearKinematicTarget ( )
inline

◆ CreateParticle()

◆ GetV()

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

◆ GetW()

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

◆ IsKinematicTargetDirty()

template<typename T , int d>
bool Chaos::TKinematicGeometryParticle< T, d >::IsKinematicTargetDirty ( ) const
inline

◆ KinematicTarget()

template<typename T , int d>
const FKinematicTarget Chaos::TKinematicGeometryParticle< T, d >::KinematicTarget ( ) const
inline

◆ ObjectState()

template<typename T , int d>
EObjectStateType Chaos::TKinematicGeometryParticle< T, d >::ObjectState ( ) const

◆ Serialize()

template<typename T , int d>
virtual void Chaos::TKinematicGeometryParticle< T, d >::Serialize ( FChaosArchive Ar)
inlineoverridevirtual

◆ SetKinematicTarget()

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

◆ SetV()

template<typename T , int d>
void Chaos::TKinematicGeometryParticle< T, d >::SetV ( const TVector< T, d > &  InV,
bool  bInvalidate = true 
)

◆ SetVelocities()

template<typename T , int d>
void Chaos::TKinematicGeometryParticle< T, d >::SetVelocities ( const FParticleVelocities InVelocities,
bool  bInvalidate = true 
)
inline

◆ SetW()

template<typename T , int d>
void Chaos::TKinematicGeometryParticle< T, d >::SetW ( const TVector< T, d > &  InW,
bool  bInvalidate = true 
)

◆ SyncRemoteDataImp()

template<typename T , int d>
virtual void Chaos::TKinematicGeometryParticle< T, d >::SyncRemoteDataImp ( FDirtyPropertiesManager Manager,
int32  DataIdx,
const FDirtyChaosProperties RemoteData 
) const
inlineprotectedvirtual

◆ V()

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

◆ Velocities()

template<typename T , int d>
const FParticleVelocities & Chaos::TKinematicGeometryParticle< T, d >::Velocities ( ) const
inline

◆ W()

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

Friends And Related Symbol Documentation

◆ TGeometryParticle

template<typename T , int d>
TGeometryParticle< T, d > * TGeometryParticle ( FChaosArchive Ar,
TGeometryParticle< T, d > *  Serializable 
)
friend

Member Data Documentation

◆ MDirtyFlags

template<typename T , int d>
FDirtyChaosPropertyFlags Chaos::TGeometryParticle< T, d >::MDirtyFlags

◆ Proxy

template<typename T , int d>
class IPhysicsProxyBase* Chaos::TGeometryParticle< T, d >::Proxy
protected

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