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

#include <ShapeInstance.h>

+ Inheritance diagram for Chaos::FShapeInstance:

Classes

union  FMaterialUnion
 

Public Member Functions

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)
 

Static Public Member Functions

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 *)
 

Protected Member Functions

 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

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 FPerShapeData
 

Additional Inherited Members

- 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 }
 

Constructor & Destructor Documentation

◆ ~FShapeInstance()

virtual Chaos::FShapeInstance::~FShapeInstance ( )
inlinevirtual

◆ FShapeInstance() [1/7]

Chaos::FShapeInstance::FShapeInstance ( int32  InShapeIdx)
inlineexplicitprotected

◆ FShapeInstance() [2/7]

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

◆ FShapeInstance() [3/7]

Chaos::FShapeInstance::FShapeInstance ( int32  InShapeIdx,
const FImplicitObjectPtr InGeometry 
)
inlineprotected

◆ FShapeInstance() [4/7]

Chaos::FShapeInstance::FShapeInstance ( FShapeInstance &&  Other)
inlineexplicitprotected

◆ FShapeInstance() [5/7]

Chaos::FShapeInstance::FShapeInstance ( const EPerShapeDataType  InType,
int32  InShapeIdx,
TSerializablePtr< FImplicitObject InGeometry 
)
inlineprotected

◆ FShapeInstance() [6/7]

Chaos::FShapeInstance::FShapeInstance ( const EPerShapeDataType  InType,
int32  InShapeIdx,
FImplicitObjectPtr  InGeometry 
)
inlineprotected

◆ FShapeInstance() [7/7]

Chaos::FShapeInstance::FShapeInstance ( const EPerShapeDataType  InType,
FShapeInstance &&  Other 
)
inlineprotected

Member Function Documentation

◆ GetCollisionData()

const FCollisionData & Chaos::FShapeInstance::GetCollisionData ( ) const
inline

◆ GetCollisionTraceType()

EChaosCollisionTraceFlag Chaos::FShapeInstance::GetCollisionTraceType ( ) const
inline

◆ GetCombinedShapeFilterData()

const Filter::FCombinedShapeFilterData Chaos::FShapeInstance::GetCombinedShapeFilterData ( ) const

◆ GetDirtyFlags()

const FShapeDirtyFlags Chaos::FShapeInstance::GetDirtyFlags ( ) const
inline

◆ GetFilterInstanceData()

const Filter::FInstanceData Chaos::FShapeInstance::GetFilterInstanceData ( ) const

◆ GetIsProbe()

bool Chaos::FShapeInstance::GetIsProbe ( ) const
inline

◆ GetLeafGeometry()

const FImplicitObject * Chaos::FShapeInstance::GetLeafGeometry ( ) const

◆ GetLeafRelativeTransform()

FRigidTransform3 Chaos::FShapeInstance::GetLeafRelativeTransform ( ) const

◆ GetLeafWorldTransform()

FRigidTransform3 Chaos::FShapeInstance::GetLeafWorldTransform ( const FGeometryParticleHandle Particle) const

◆ GetMaterial()

const FMaterialHandle & Chaos::FShapeInstance::GetMaterial ( const int32  Index) const
inline

◆ GetMaterialData()

const FMaterialData & Chaos::FShapeInstance::GetMaterialData ( ) const
inline

◆ GetMaterialDataImpl() [1/2]

FMaterialData & Chaos::FShapeInstance::GetMaterialDataImpl ( )
inlineprotected

◆ GetMaterialDataImpl() [2/2]

const FMaterialData & Chaos::FShapeInstance::GetMaterialDataImpl ( ) const
inlineprotected

◆ GetMaterialInternal()

const FMaterialHandle & Chaos::FShapeInstance::GetMaterialInternal ( const int32  Index,
const THandleArray< FChaosPhysicsMaterial > *const  SimMaterials 
) const
inline

◆ GetMaterialMaskMapMaterials()

const TArray< FMaterialHandle > & Chaos::FShapeInstance::GetMaterialMaskMapMaterials ( ) const
inline

◆ GetMaterialMaskMaps()

const TArray< uint32 > & Chaos::FShapeInstance::GetMaterialMaskMaps ( ) const
inline

◆ GetMaterialMasks()

const TArray< FMaterialMaskHandle > & Chaos::FShapeInstance::GetMaterialMasks ( ) const
inline

◆ GetMaterials()

const TArray< FMaterialHandle > & Chaos::FShapeInstance::GetMaterials ( ) const
inline

◆ GetQueryData()

PRAGMA_DISABLE_INTERNAL_WARNINGS const FCollisionFilterData & Chaos::FShapeInstance::GetQueryData ( ) const
inline

◆ GetQueryEnabled()

bool Chaos::FShapeInstance::GetQueryEnabled ( ) const
inline

◆ GetShapeFilterData()

const Filter::FShapeFilterData Chaos::FShapeInstance::GetShapeFilterData ( ) const

◆ GetSimData()

const FCollisionFilterData & Chaos::FShapeInstance::GetSimData ( ) const
inline

◆ GetSimEnabled()

bool Chaos::FShapeInstance::GetSimEnabled ( ) const
inline

◆ GetUserData()

void * Chaos::FShapeInstance::GetUserData ( ) const
inline

◆ Make()

TUniquePtr< FShapeInstance > Chaos::FShapeInstance::Make ( int32  InShapeIdx,
const FImplicitObjectPtr InGeometry 
)
static

◆ ModifyMaterialMaskMapMaterials()

template<typename Lambda >
void Chaos::FShapeInstance::ModifyMaterialMaskMapMaterials ( const Lambda &  LambdaFunc)
inline

◆ ModifyMaterialMaskMaps()

template<typename Lambda >
void Chaos::FShapeInstance::ModifyMaterialMaskMaps ( const Lambda &  LambdaFunc)
inline

◆ ModifyMaterialMasks()

template<typename Lambda >
void Chaos::FShapeInstance::ModifyMaterialMasks ( const Lambda &  LambdaFunc)
inline

◆ ModifyMaterials()

template<typename Lambda >
PRAGMA_ENABLE_DEPRECATION_WARNINGS void Chaos::FShapeInstance::ModifyMaterials ( const Lambda &  LambdaFunc)
inline

◆ ModifySimData()

template<typename Lambda >
PRAGMA_DISABLE_DEPRECATION_WARNINGS void Chaos::FShapeInstance::ModifySimData ( const Lambda &  LambdaFunc)
inline

◆ NumMaterials()

int32 Chaos::FShapeInstance::NumMaterials ( ) const
inline

◆ NumMaterialsInternal()

int32 Chaos::FShapeInstance::NumMaterialsInternal ( const THandleArray< FChaosPhysicsMaterial > *const  SimMaterials) const
inline

◆ SerializationFactory()

FShapeInstance * Chaos::FShapeInstance::SerializationFactory ( FChaosArchive Ar,
FShapeInstance  
)
static

◆ SerializeMaterials()

void Chaos::FShapeInstance::SerializeMaterials ( FChaosArchive Ar)
finaloverrideprotectedvirtual

Implements Chaos::FPerShapeData.

◆ SetCollisionData()

void Chaos::FShapeInstance::SetCollisionData ( const FCollisionData Data)
inline

◆ SetCollisionTraceType()

void Chaos::FShapeInstance::SetCollisionTraceType ( const EChaosCollisionTraceFlag  InTraceFlag)
inline

◆ SetCombinedShapeFilterData()

void Chaos::FShapeInstance::SetCombinedShapeFilterData ( const Filter::FCombinedShapeFilterData InCombinedShapeFilter)

◆ SetFilterInstanceData()

void Chaos::FShapeInstance::SetFilterInstanceData ( const Filter::FInstanceData InInstanceData)

◆ SetIsProbe()

void Chaos::FShapeInstance::SetIsProbe ( const bool  bIsProbe)
inline

◆ SetMaterial()

void Chaos::FShapeInstance::SetMaterial ( FMaterialHandle  InMaterial)
inline

◆ SetMaterialData()

void Chaos::FShapeInstance::SetMaterialData ( const FMaterialData Data)
inline

◆ SetMaterialDataImpl()

void Chaos::FShapeInstance::SetMaterialDataImpl ( const FMaterialData Data)
inlineprotected

◆ SetMaterialImpl()

void Chaos::FShapeInstance::SetMaterialImpl ( const FMaterialHandle InMaterial)
inlineprotected

◆ SetMaterialMaskMapMaterials()

void Chaos::FShapeInstance::SetMaterialMaskMapMaterials ( const TArray< FMaterialHandle > &  InMaterialMaskMapMaterials)
inline

◆ SetMaterialMaskMaps()

void Chaos::FShapeInstance::SetMaterialMaskMaps ( const TArray< uint32 > &  InMaterialMaskMaps)
inline

◆ SetMaterialMasks()

void Chaos::FShapeInstance::SetMaterialMasks ( const TArray< FMaterialMaskHandle > &  InMaterialMasks)
inline

◆ SetMaterials() [1/2]

void Chaos::FShapeInstance::SetMaterials ( const TArray< FMaterialHandle > &  InMaterials)
inline

◆ SetMaterials() [2/2]

void Chaos::FShapeInstance::SetMaterials ( TArray< FMaterialHandle > &&  InMaterials)
inline

◆ SetProxy()

void Chaos::FShapeInstance::SetProxy ( IPhysicsProxyBase InProxy)
inline

◆ SetQueryData()

void Chaos::FShapeInstance::SetQueryData ( const FCollisionFilterData InQueryData)
inline

◆ SetQueryEnabled()

void Chaos::FShapeInstance::SetQueryEnabled ( const bool  bEnable)
inline

◆ SetShapeFilterData()

void Chaos::FShapeInstance::SetShapeFilterData ( const Filter::FShapeFilterData InShapeFilter)

◆ SetSimData()

void Chaos::FShapeInstance::SetSimData ( const FCollisionFilterData InSimData)
inline

◆ SetSimEnabled()

void Chaos::FShapeInstance::SetSimEnabled ( const bool  bEnable)
inline

◆ SetUserData()

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

◆ SyncRemoteData()

void Chaos::FShapeInstance::SyncRemoteData ( FDirtyPropertiesManager Manager,
int32  ShapeDataIdx,
FShapeDirtyData RemoteData 
)
inline

◆ UpdateGeometry()

void Chaos::FShapeInstance::UpdateGeometry ( TUniquePtr< FShapeInstance > &  InOutShapePtr,
const FImplicitObjectPtr InGeometry 
)
static

◆ UpdateLeafWorldTransform()

void Chaos::FShapeInstance::UpdateLeafWorldTransform ( FGeometryParticleHandle Particle)

◆ UpdateShapeBounds()

void Chaos::FShapeInstance::UpdateShapeBounds ( const FRigidTransform3 WorldTM)

◆ UpdateWorldSpaceState()

void Chaos::FShapeInstance::UpdateWorldSpaceState ( const FRigidTransform3 WorldTransform)

Friends And Related Symbol Documentation

◆ FPerShapeData

friend class FPerShapeData
friend

Member Data Documentation

◆ CollisionData

FCollisionData Chaos::FShapeInstance::CollisionData
protected

◆ Material

FMaterialUnion Chaos::FShapeInstance::Material
mutableprotected

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