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

#include <ShapeInstance.h>

+ Inheritance diagram for Chaos::FPerShapeData:

Public Member Functions

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

static constexpr bool AlwaysSerializable = true
 

Protected Types

enum class  EPerShapeDataType : uint32 { Proxy , Sim , SimExtended }
 

Protected Member Functions

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)
 
virtual void SerializeMaterials (FChaosArchive &Ar)=0
 

Protected Attributes

EPerShapeDataType Type: 2
 
uint32 bIsSingleMaterial: 1
 
uint32 ShapeIdx: 29
 
FShapeDirtyFlags DirtyFlags
 
FImplicitObjectPtr Geometry
 
TAABB< FReal, 3 > WorldSpaceShapeBounds
 

Detailed Description

FPerShapeData is going to be deprecated. See FShapeInstance and FShapeInstanceProxy

Member Enumeration Documentation

◆ EPerShapeDataType

Enumerator
Proxy 
Sim 
SimExtended 

Constructor & Destructor Documentation

◆ ~FPerShapeData()

virtual Chaos::FPerShapeData::~FPerShapeData ( )
inlinevirtual

◆ FPerShapeData() [1/4]

Chaos::FPerShapeData::FPerShapeData ( const EPerShapeDataType  InType,
int32  InShapeIdx 
)
inlineprotected

◆ FPerShapeData() [2/4]

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

◆ FPerShapeData() [3/4]

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

◆ FPerShapeData() [4/4]

Chaos::FPerShapeData::FPerShapeData ( const EPerShapeDataType  InType,
const FPerShapeData Other 
)
inlineprotected

Member Function Documentation

◆ AsShapeInstance() [1/2]

FShapeInstance * Chaos::FPerShapeData::AsShapeInstance ( )
inline

◆ AsShapeInstance() [2/2]

const FShapeInstance * Chaos::FPerShapeData::AsShapeInstance ( ) const
inline

◆ AsShapeInstanceExtended() [1/2]

Private::FShapeInstanceExtended * Chaos::FPerShapeData::AsShapeInstanceExtended ( )
inlineprotected

◆ AsShapeInstanceExtended() [2/2]

const Private::FShapeInstanceExtended * Chaos::FPerShapeData::AsShapeInstanceExtended ( ) const
inlineprotected

◆ AsShapeInstanceProxy() [1/2]

FShapeInstanceProxy * Chaos::FPerShapeData::AsShapeInstanceProxy ( )
inline

◆ AsShapeInstanceProxy() [2/2]

const FShapeInstanceProxy * Chaos::FPerShapeData::AsShapeInstanceProxy ( ) const
inline

◆ CreatePerShapeData()

TUniquePtr< FPerShapeData > Chaos::FPerShapeData::CreatePerShapeData ( int32  InShapeIdx,
TSerializablePtr< FImplicitObject InGeometry 
)
static

◆ DownCast() [1/2]

template<typename TLambda >
decltype(auto) Chaos::FPerShapeData::DownCast ( const TLambda Lambda)
inlineprotected

◆ DownCast() [2/2]

template<typename TLambda >
decltype(auto) Chaos::FPerShapeData::DownCast ( const TLambda Lambda) const
inlineprotected

◆ GetCollisionData()

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

◆ GetCollisionTraceType()

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

◆ GetCombinedShapeFilterData()

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

◆ GetDirtyFlags()

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

◆ GetFilterInstanceData()

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

◆ GetGeometry()

FImplicitObjectRef Chaos::FPerShapeData::GetGeometry ( ) const
inline

◆ GetIsProbe()

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

◆ GetLeafGeometry()

const FImplicitObject * Chaos::FPerShapeData::GetLeafGeometry ( ) const
inline

◆ GetLeafRelativeTransform()

FRigidTransform3 Chaos::FPerShapeData::GetLeafRelativeTransform ( ) const
inline

◆ GetLeafWorldTransform()

FRigidTransform3 Chaos::FPerShapeData::GetLeafWorldTransform ( const FGeometryParticleHandle Particle) const
inline

◆ GetMaterial()

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

◆ GetMaterialData()

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

◆ GetMaterialMaskMapMaterials()

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

◆ GetMaterialMaskMaps()

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

◆ GetMaterialMasks()

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

◆ GetMaterials()

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

◆ GetQueryData()

const FCollisionFilterData & Chaos::FPerShapeData::GetQueryData ( ) const
inline

◆ GetQueryEnabled()

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

◆ GetShapeFilterData()

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

◆ GetShapeIndex()

int32 Chaos::FPerShapeData::GetShapeIndex ( ) const
inline

◆ GetSimData()

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

◆ GetSimEnabled()

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

◆ GetType()

EPerShapeDataType Chaos::FPerShapeData::GetType ( ) const
inlineprotected

◆ GetUserData()

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

◆ GetWorldSpaceInflatedShapeBounds()

const TAABB< FReal, 3 > & Chaos::FPerShapeData::GetWorldSpaceInflatedShapeBounds ( ) const
inline

◆ GetWorldSpaceShapeBounds()

const TAABB< FReal, 3 > & Chaos::FPerShapeData::GetWorldSpaceShapeBounds ( ) const
inline

◆ ModifyMaterialMaskMapMaterials()

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

◆ ModifyMaterialMaskMaps()

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

◆ ModifyMaterialMasks()

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

◆ ModifyMaterials()

template<typename Lambda >
void Chaos::FPerShapeData::ModifyMaterials ( const Lambda &  LambdaFunc)

◆ ModifyShapeIndex()

void Chaos::FPerShapeData::ModifyShapeIndex ( int32  NewShapeIndex)
inline

◆ ModifySimData()

template<typename Lambda >
void Chaos::FPerShapeData::ModifySimData ( const Lambda &  LambdaFunc)

◆ NumMaterials()

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

◆ RequiresCachedLeafInfo()

static bool Chaos::FPerShapeData::RequiresCachedLeafInfo ( const FImplicitObject Geometry)
inlinestatic

◆ SerializationFactory()

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

◆ Serialize()

void Chaos::FPerShapeData::Serialize ( FChaosArchive Ar)
virtual

◆ SerializeMaterials()

virtual void Chaos::FPerShapeData::SerializeMaterials ( FChaosArchive Ar)
protectedpure virtual

◆ SetCollisionData()

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

◆ SetCollisionTraceType()

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

◆ SetCombinedShapeFilterData()

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

◆ SetFilterInstanceData()

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

◆ SetIsProbe()

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

◆ SetMaterial()

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

◆ SetMaterialData()

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

◆ SetMaterialMaskMapMaterials() [1/2]

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

◆ SetMaterialMaskMapMaterials() [2/2]

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

◆ SetMaterialMaskMaps() [1/2]

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

◆ SetMaterialMaskMaps() [2/2]

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

◆ SetMaterialMasks() [1/2]

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

◆ SetMaterialMasks() [2/2]

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

◆ SetMaterials() [1/2]

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

◆ SetMaterials() [2/2]

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

◆ SetProxy()

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

◆ SetQueryData()

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

◆ SetQueryEnabled()

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

◆ SetShapeFilterData()

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

◆ SetSimData()

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

◆ SetSimEnabled()

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

◆ SetUserData()

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

◆ SyncRemoteData()

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

◆ UpdateGeometry()

void Chaos::FPerShapeData::UpdateGeometry ( TUniquePtr< FPerShapeData > &  InOutShapePtr,
TSerializablePtr< FImplicitObject InGeometry 
)
static

◆ UpdateLeafWorldTransform()

void Chaos::FPerShapeData::UpdateLeafWorldTransform ( FGeometryParticleHandle Particle)
inline

◆ UpdateShapeBounds() [1/2]

void Chaos::FPerShapeData::UpdateShapeBounds ( const FRigidTransform3 WorldTM)
inline

◆ UpdateShapeBounds() [2/2]

void Chaos::FPerShapeData::UpdateShapeBounds ( const FRigidTransform3 WorldTM,
const FVec3 BoundsExpansion 
)
inline

◆ UpdateWorldSpaceState() [1/2]

void Chaos::FPerShapeData::UpdateWorldSpaceState ( const FRigidTransform3 WorldTransform)
inline

◆ UpdateWorldSpaceState() [2/2]

void Chaos::FPerShapeData::UpdateWorldSpaceState ( const FRigidTransform3 WorldTransform,
const FVec3 BoundsExpansion 
)
inline

Member Data Documentation

◆ AlwaysSerializable

constexpr bool Chaos::FPerShapeData::AlwaysSerializable = true
staticconstexpr

◆ bIsSingleMaterial

uint32 Chaos::FPerShapeData::bIsSingleMaterial
protected

◆ DirtyFlags

FShapeDirtyFlags Chaos::FPerShapeData::DirtyFlags
protected

◆ Geometry

FImplicitObjectPtr Chaos::FPerShapeData::Geometry
protected

◆ ShapeIdx

uint32 Chaos::FPerShapeData::ShapeIdx
protected

◆ Type

EPerShapeDataType Chaos::FPerShapeData::Type
protected

◆ WorldSpaceShapeBounds

TAABB<FReal, 3> Chaos::FPerShapeData::WorldSpaceShapeBounds
protected

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