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

#include <ShapeInstance.h>

+ Inheritance diagram for Chaos::Private::FShapeInstanceExtended:

Public Member Functions

FRigidTransform3 GetWorldTransform () const
 
void SetWorldTransform (const FRigidTransform3 &LeafWorldTransform)
 
- Public Member Functions inherited from Chaos::FShapeInstance
virtual ~FShapeInstance ()
 
CHAOS_API void UpdateShapeBounds (const FRigidTransform3 &WorldTM)
 
voidGetUserData () const
 
void SetUserData (void *InUserData)
 
PRAGMA_DISABLE_INTERNAL_WARNINGS const FCollisionFilterDataGetQueryData () const
 
void SetQueryData (const FCollisionFilterData &InQueryData)
 
const FCollisionFilterDataGetSimData () const
 
void SetSimData (const FCollisionFilterData &InSimData)
 
PRAGMA_ENABLE_INTERNAL_WARNINGS CHAOS_API const Filter::FShapeFilterData GetShapeFilterData () const
 
CHAOS_API void SetShapeFilterData (const Filter::FShapeFilterData &InShapeFilter)
 
CHAOS_API const Filter::FInstanceData GetFilterInstanceData () const
 
CHAOS_API void SetFilterInstanceData (const Filter::FInstanceData &InInstanceData)
 
CHAOS_API const Filter::FCombinedShapeFilterData GetCombinedShapeFilterData () const
 
CHAOS_API void SetCombinedShapeFilterData (const Filter::FCombinedShapeFilterData &InCombinedShapeFilter)
 
CHAOS_API void UpdateWorldSpaceState (const FRigidTransform3 &WorldTransform)
 
CHAOS_API const FImplicitObjectGetLeafGeometry () const
 
CHAOS_API FRigidTransform3 GetLeafRelativeTransform () const
 
CHAOS_API FRigidTransform3 GetLeafWorldTransform (const FGeometryParticleHandle *Particle) const
 
CHAOS_API void UpdateLeafWorldTransform (FGeometryParticleHandle *Particle)
 
int32 NumMaterials () const
 
const FMaterialHandleGetMaterial (const int32 Index) const
 
int32 NumMaterialsInternal (const THandleArray< FChaosPhysicsMaterial > *const SimMaterials) const
 
const FMaterialHandleGetMaterialInternal (const int32 Index, const THandleArray< FChaosPhysicsMaterial > *const SimMaterials) const
 
const TArray< FMaterialHandle > & GetMaterials () const
 
const TArray< FMaterialMaskHandle > & GetMaterialMasks () const
 
const TArray< uint32 > & GetMaterialMaskMaps () const
 
const TArray< FMaterialHandle > & GetMaterialMaskMapMaterials () const
 
void SetMaterial (FMaterialHandle InMaterial)
 
void SetMaterials (const TArray< FMaterialHandle > &InMaterials)
 
void SetMaterials (TArray< FMaterialHandle > &&InMaterials)
 
void SetMaterialMasks (const TArray< FMaterialMaskHandle > &InMaterialMasks)
 
void SetMaterialMaskMaps (const TArray< uint32 > &InMaterialMaskMaps)
 
void SetMaterialMaskMapMaterials (const TArray< FMaterialHandle > &InMaterialMaskMapMaterials)
 
bool GetQueryEnabled () const
 
void SetQueryEnabled (const bool bEnable)
 
bool GetSimEnabled () const
 
void SetSimEnabled (const bool bEnable)
 
bool GetIsProbe () const
 
void SetIsProbe (const bool bIsProbe)
 
EChaosCollisionTraceFlag GetCollisionTraceType () const
 
void SetCollisionTraceType (const EChaosCollisionTraceFlag InTraceFlag)
 
const FCollisionDataGetCollisionData () const
 
void SetCollisionData (const FCollisionData &Data)
 
const FMaterialDataGetMaterialData () const
 
void SetMaterialData (const FMaterialData &Data)
 
const FShapeDirtyFlags GetDirtyFlags () const
 
void SyncRemoteData (FDirtyPropertiesManager &Manager, int32 ShapeDataIdx, FShapeDirtyData &RemoteData)
 
void SetProxy (IPhysicsProxyBase *InProxy)
 
template<typename Lambda >
PRAGMA_DISABLE_DEPRECATION_WARNINGS void ModifySimData (const Lambda &LambdaFunc)
 
template<typename Lambda >
PRAGMA_ENABLE_DEPRECATION_WARNINGS void ModifyMaterials (const Lambda &LambdaFunc)
 
template<typename Lambda >
void ModifyMaterialMasks (const Lambda &LambdaFunc)
 
template<typename Lambda >
void ModifyMaterialMaskMaps (const Lambda &LambdaFunc)
 
template<typename Lambda >
void ModifyMaterialMaskMapMaterials (const Lambda &LambdaFunc)
 
- Public Member Functions inherited from Chaos::FPerShapeData
FShapeInstanceProxyAsShapeInstanceProxy ()
 
const FShapeInstanceProxyAsShapeInstanceProxy () const
 
FShapeInstanceAsShapeInstance ()
 
const FShapeInstanceAsShapeInstance () const
 
virtual ~FPerShapeData ()
 
virtual CHAOS_API void Serialize (FChaosArchive &Ar)
 
void UpdateShapeBounds (const FRigidTransform3 &WorldTM)
 
void UpdateShapeBounds (const FRigidTransform3 &WorldTM, const FVec3 &BoundsExpansion)
 
voidGetUserData () const
 
void SetUserData (void *InUserData)
 
const FCollisionFilterDataGetQueryData () const
 
void SetQueryData (const FCollisionFilterData &InQueryData)
 
const FCollisionFilterDataGetSimData () const
 
void SetSimData (const FCollisionFilterData &InSimData)
 
CHAOS_API const Filter::FShapeFilterData GetShapeFilterData () const
 
CHAOS_API void SetShapeFilterData (const Filter::FShapeFilterData &InShapeFilter)
 
CHAOS_API const Filter::FInstanceData GetFilterInstanceData () const
 
CHAOS_API void SetFilterInstanceData (const Filter::FInstanceData &InInstanceData)
 
CHAOS_API const Filter::FCombinedShapeFilterData GetCombinedShapeFilterData () const
 
CHAOS_API void SetCombinedShapeFilterData (const Filter::FCombinedShapeFilterData &InCombinedShapeFilter)
 
FImplicitObjectRef GetGeometry () const
 
const TAABB< FReal, 3 > & GetWorldSpaceShapeBounds () const
 
void UpdateWorldSpaceState (const FRigidTransform3 &WorldTransform)
 
const TAABB< FReal, 3 > & GetWorldSpaceInflatedShapeBounds () const
 
void UpdateWorldSpaceState (const FRigidTransform3 &WorldTransform, const FVec3 &BoundsExpansion)
 
const FImplicitObjectGetLeafGeometry () const
 
FRigidTransform3 GetLeafRelativeTransform () const
 
FRigidTransform3 GetLeafWorldTransform (const FGeometryParticleHandle *Particle) const
 
void UpdateLeafWorldTransform (FGeometryParticleHandle *Particle)
 
int32 NumMaterials () const
 
const FMaterialHandleGetMaterial (const int32 Index) const
 
const TArray< FMaterialHandle > & GetMaterials () const
 
void SetMaterial (FMaterialHandle InMaterial)
 
void SetMaterials (const TArray< FMaterialHandle > &InMaterials)
 
void SetMaterials (TArray< FMaterialHandle > &&InMaterials)
 
const TArray< FMaterialMaskHandle > & GetMaterialMasks () const
 
void SetMaterialMasks (const TArray< FMaterialMaskHandle > &InMaterialMasks)
 
void SetMaterialMasks (TArray< FMaterialMaskHandle > &&InMaterialMasks)
 
const TArray< uint32 > & GetMaterialMaskMaps () const
 
void SetMaterialMaskMaps (const TArray< uint32 > &InMaterialMaskMaps)
 
void SetMaterialMaskMaps (TArray< uint32 > &&InMaterialMaskMaps)
 
const TArray< FMaterialHandle > & GetMaterialMaskMapMaterials () const
 
void SetMaterialMaskMapMaterials (const TArray< FMaterialHandle > &InMaterialMaskMapMaterials)
 
void SetMaterialMaskMapMaterials (TArray< FMaterialHandle > &&InMaterialMaskMapMaterials)
 
const FShapeDirtyFlags GetDirtyFlags () const
 
bool GetQueryEnabled () const
 
void SetQueryEnabled (const bool bEnable)
 
bool GetSimEnabled () const
 
void SetSimEnabled (const bool bEnable)
 
bool GetIsProbe () const
 
void SetIsProbe (const bool bIsProbe)
 
EChaosCollisionTraceFlag GetCollisionTraceType () const
 
void SetCollisionTraceType (const EChaosCollisionTraceFlag InTraceFlag)
 
const FCollisionDataGetCollisionData () const
 
void SetCollisionData (const FCollisionData &Data)
 
const FMaterialDataGetMaterialData () const
 
void SetMaterialData (const FMaterialData &Data)
 
void SyncRemoteData (FDirtyPropertiesManager &Manager, int32 ShapeDataIdx, FShapeDirtyData &RemoteData)
 
void SetProxy (IPhysicsProxyBase *InProxy)
 
int32 GetShapeIndex () const
 
void ModifyShapeIndex (int32 NewShapeIndex)
 
template<typename Lambda >
void ModifySimData (const Lambda &LambdaFunc)
 
template<typename Lambda >
void ModifyMaterials (const Lambda &LambdaFunc)
 
template<typename Lambda >
void ModifyMaterialMasks (const Lambda &LambdaFunc)
 
template<typename Lambda >
void ModifyMaterialMaskMaps (const Lambda &LambdaFunc)
 
template<typename Lambda >
void ModifyMaterialMaskMapMaterials (const Lambda &LambdaFunc)
 

Protected Member Functions

 FShapeInstanceExtended (int32 InShapeIdx, FImplicitObjectPtr InGeometry)
 
 FShapeInstanceExtended (int32 InShapeIdx, TSerializablePtr< FImplicitObject > InGeometry)
 
 FShapeInstanceExtended (FShapeInstance &&PerShapeData)
 
- Protected Member Functions inherited from Chaos::FShapeInstance
 FShapeInstance (int32 InShapeIdx)
 
 FShapeInstance (int32 InShapeIdx, TSerializablePtr< FImplicitObject > InGeometry)
 
 FShapeInstance (int32 InShapeIdx, const FImplicitObjectPtr &InGeometry)
 
 FShapeInstance (FShapeInstance &&Other)
 
 FShapeInstance (const EPerShapeDataType InType, int32 InShapeIdx, TSerializablePtr< FImplicitObject > InGeometry)
 
 FShapeInstance (const EPerShapeDataType InType, int32 InShapeIdx, FImplicitObjectPtr InGeometry)
 
 FShapeInstance (const EPerShapeDataType InType, FShapeInstance &&Other)
 
FMaterialDataGetMaterialDataImpl ()
 
const FMaterialDataGetMaterialDataImpl () const
 
void SetMaterialImpl (const FMaterialHandle &InMaterial)
 
void SetMaterialDataImpl (const FMaterialData &Data)
 
virtual CHAOS_API void SerializeMaterials (FChaosArchive &Ar) override final
 
- Protected Member Functions inherited from Chaos::FPerShapeData
EPerShapeDataType GetType () const
 
template<typename TLambda >
decltype(autoDownCast (const TLambda &Lambda)
 
template<typename TLambda >
decltype(autoDownCast (const TLambda &Lambda) const
 
Private::FShapeInstanceExtendedAsShapeInstanceExtended ()
 
CHAOS_API const Private::FShapeInstanceExtendedAsShapeInstanceExtended () const
 
 FPerShapeData (const EPerShapeDataType InType, int32 InShapeIdx)
 
 FPerShapeData (const EPerShapeDataType InType, int32 InShapeIdx, TSerializablePtr< FImplicitObject > InGeometry)
 
 FPerShapeData (const EPerShapeDataType InType, int32 InShapeIdx, const FImplicitObjectPtr &InGeometry)
 
 FPerShapeData (const EPerShapeDataType InType, const FPerShapeData &Other)
 

Protected Attributes

FRotation3 WorldRotation
 
FVec3 WorldPosition
 
- Protected Attributes inherited from Chaos::FShapeInstance
FCollisionData CollisionData
 
FMaterialUnion Material
 
- Protected Attributes inherited from Chaos::FPerShapeData
EPerShapeDataType Type: 2
 
uint32 bIsSingleMaterial: 1
 
uint32 ShapeIdx: 29
 
FShapeDirtyFlags DirtyFlags
 
FImplicitObjectPtr Geometry
 
TAABB< FReal, 3 > WorldSpaceShapeBounds
 

Friends

class FShapeInstance
 

Additional Inherited Members

- Static Public Member Functions inherited from Chaos::FShapeInstance
static CHAOS_API TUniquePtr< FShapeInstanceMake (int32 InShapeIdx, const FImplicitObjectPtr &InGeometry)
 
static CHAOS_API void UpdateGeometry (TUniquePtr< FShapeInstance > &InOutShapePtr, const FImplicitObjectPtr &InGeometry)
 
static CHAOS_API FShapeInstanceSerializationFactory (FChaosArchive &Ar, FShapeInstance *)
 
- Static Public Member Functions inherited from Chaos::FPerShapeData
static bool RequiresCachedLeafInfo (const FImplicitObject *Geometry)
 
static CHAOS_API TUniquePtr< FPerShapeDataCreatePerShapeData (int32 InShapeIdx, TSerializablePtr< FImplicitObject > InGeometry)
 
static CHAOS_API void UpdateGeometry (TUniquePtr< FPerShapeData > &InOutShapePtr, TSerializablePtr< FImplicitObject > InGeometry)
 
static CHAOS_API FPerShapeDataSerializationFactory (FChaosArchive &Ar, FPerShapeData *)
 
- Static Public Attributes inherited from Chaos::FPerShapeData
static constexpr bool AlwaysSerializable = true
 
- Protected Types inherited from Chaos::FPerShapeData
enum class  EPerShapeDataType : uint32 { Proxy , Sim , SimExtended }
 

Detailed Description

An extended version of FShapeInstance (physics-thread shape instance data) that caches some world-space state of the shape for use in collision detection. This extended data if only required for shapes that have a transform relative to the particle they are attached to. It helps by avoiding the need to recalculate the shape transform every time it is needed in collision detection, which is once for each other shape we may be in contact with.

NOTE: keep size to a minimum. There can be millions of these in s scene.

Constructor & Destructor Documentation

◆ FShapeInstanceExtended() [1/3]

Chaos::Private::FShapeInstanceExtended::FShapeInstanceExtended ( int32  InShapeIdx,
FImplicitObjectPtr  InGeometry 
)
inlineprotected

◆ FShapeInstanceExtended() [2/3]

Chaos::Private::FShapeInstanceExtended::FShapeInstanceExtended ( int32  InShapeIdx,
TSerializablePtr< FImplicitObject InGeometry 
)
inlineprotected

◆ FShapeInstanceExtended() [3/3]

Chaos::Private::FShapeInstanceExtended::FShapeInstanceExtended ( FShapeInstance &&  PerShapeData)
inlineprotected

Member Function Documentation

◆ GetWorldTransform()

FRigidTransform3 Chaos::Private::FShapeInstanceExtended::GetWorldTransform ( ) const
inline

◆ SetWorldTransform()

void Chaos::Private::FShapeInstanceExtended::SetWorldTransform ( const FRigidTransform3 LeafWorldTransform)
inline

Friends And Related Symbol Documentation

◆ FShapeInstance

friend class FShapeInstance
friend

Member Data Documentation

◆ WorldPosition

FVec3 Chaos::Private::FShapeInstanceExtended::WorldPosition
protected

◆ WorldRotation

FRotation3 Chaos::Private::FShapeInstanceExtended::WorldRotation
protected

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