18 class FImplicitObject;
20 class FShapeInstanceProxy;
24 class FShapeInstanceExtended;
51 template<
typename TLambda>
decltype(
auto)
DownCast(
const TLambda& Lambda);
52 template<
typename TLambda>
decltype(
auto)
DownCast(
const TLambda& Lambda)
const;
70 UE_DEPRECATED(5.3,
"Call FShapeInstanceProxy::Make for game thread objects, FShapeInstance::Make for physics thread objects")
85 UE_DEPRECATED(5.4,
"Bounds no longer expanded. Use UpdateShapeBounds without BoundsExpansion")
110 UE_DEPRECATED(5.4,
"Bounds no longer expanded. Use GetWorldSpaceShapeBounds()")
113 UE_DEPRECATED(5.4,
"Bounds no longer expanded. Use UpdateWorldSpaceState() without BoundsExpansion")
192 UE_DEPRECATED(5.4,
"Use FPerShapeData with FImplicitObjectPtr instead")
264 UE_DEPRECATED(5.4,
"Use Make with FImplicitObjectPtr instead")
271 UE_DEPRECATED(5.4,
"Use UpdateGeometry with FImplicitObjectPtr instead")
338 Data.Materials.Reset(1);
444 template <
typename Lambda>
452 template <
typename Lambda>
461 template <
typename Lambda>
470 template <
typename Lambda>
479 template <
typename Lambda>
497 UE_DEPRECATED(5.4,
"Use FShapeInstanceProxy with FImplicitObjectPtr instead")
708 UE_DEPRECATED(5.4,
"Use FShapeInstance with FImplicitObjectPtr instead")
734 Other.Material.MaterialData =
nullptr;
738 UE_DEPRECATED(5.4,
"Use FShapeInstance with FImplicitObjectPtr instead")
764 Other.Material.MaterialData =
nullptr;
814 if ((Data.Materials.Num() <= 1) && Data.MaterialMasks.IsEmpty() && Data.MaterialMaskMaps.IsEmpty() && Data.MaterialMaskMapMaterials.IsEmpty())
887 UE_DEPRECATED(5.4,
"Use FShapeInstanceExtended with FImplicitObjectPtr instead")
968 template<
typename TLambda>
973 if (Type == EPerShapeDataType::Proxy)
975 return Lambda(*AsShapeInstanceProxy());
979 return Lambda(*AsShapeInstance());
983 template<
typename TLambda>
987 if (Type == EPerShapeDataType::Proxy)
989 return Lambda(*AsShapeInstanceProxy());
993 return Lambda(*AsShapeInstance());
1237 template <
typename Lambda>
1243 template <
typename Lambda>
1249 template <
typename Lambda>
1255 template <
typename Lambda>
1261 template <
typename Lambda>
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
#define PRAGMA_DISABLE_INTERNAL_WARNINGS
Definition CoreMiscDefines.h:346
#define PRAGMA_ENABLE_INTERNAL_WARNINGS
Definition CoreMiscDefines.h:347
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition ChaosArchive.h:167
Definition ParticleDirtyFlags.h:1039
Definition ImplicitObject.h:111
Definition ShapeInstance.h:36
void SetMaterial(FMaterialHandle InMaterial)
Definition ShapeInstance.h:1112
void SetQueryEnabled(const bool bEnable)
Definition ShapeInstance.h:1162
void SetMaterialData(const FMaterialData &Data)
Definition ShapeInstance.h:1212
FImplicitObjectRef GetGeometry() const
Definition ShapeInstance.h:1042
void UpdateShapeBounds(const FRigidTransform3 &WorldTM, const FVec3 &BoundsExpansion)
Definition ShapeInstance.h:86
EChaosCollisionTraceFlag GetCollisionTraceType() const
Definition ShapeInstance.h:1187
CHAOS_API void SetCombinedShapeFilterData(const Filter::FCombinedShapeFilterData &InCombinedShapeFilter)
Definition ShapeInstance.cpp:221
void UpdateWorldSpaceState(const FRigidTransform3 &WorldTransform, const FVec3 &BoundsExpansion)
Definition ShapeInstance.h:114
void SetUserData(void *InUserData)
Definition ShapeInstance.h:1017
FShapeInstance * AsShapeInstance()
Definition ShapeInstance.h:932
void SetIsProbe(const bool bIsProbe)
Definition ShapeInstance.h:1182
FPerShapeData(const EPerShapeDataType InType, int32 InShapeIdx)
Definition ShapeInstance.h:183
void ModifySimData(const Lambda &LambdaFunc)
Definition ShapeInstance.h:1238
void * GetUserData() const
Definition ShapeInstance.h:1012
CHAOS_API void SetFilterInstanceData(const Filter::FInstanceData &InInstanceData)
Definition ShapeInstance.cpp:211
const TAABB< FReal, 3 > & GetWorldSpaceShapeBounds() const
Definition ShapeInstance.h:1047
const TArray< FMaterialHandle > & GetMaterialMaskMapMaterials() const
Definition ShapeInstance.h:1102
static bool RequiresCachedLeafInfo(const FImplicitObject *Geometry)
Definition ShapeInstance.h:68
const FCollisionFilterData & GetQueryData() const
Definition ShapeInstance.h:1022
virtual void SerializeMaterials(FChaosArchive &Ar)=0
EPerShapeDataType Type
Definition ShapeInstance.h:223
EPerShapeDataType
Definition ShapeInstance.h:39
FRigidTransform3 GetLeafRelativeTransform() const
Definition ShapeInstance.h:1062
FPerShapeData(const EPerShapeDataType InType, int32 InShapeIdx, const FImplicitObjectPtr &InGeometry)
Definition ShapeInstance.h:203
bool GetIsProbe() const
Definition ShapeInstance.h:1177
EPerShapeDataType GetType() const
Definition ShapeInstance.h:45
void SetQueryData(const FCollisionFilterData &InQueryData)
Definition ShapeInstance.h:1027
CHAOS_API const Filter::FShapeFilterData GetShapeFilterData() const
Definition ShapeInstance.cpp:196
void SetMaterialMaskMaps(const TArray< uint32 > &InMaterialMaskMaps)
Definition ShapeInstance.h:1137
const TArray< FMaterialHandle > & GetMaterials() const
Definition ShapeInstance.h:1087
int32 NumMaterials() const
Definition ShapeInstance.h:1077
void ModifyMaterialMaskMapMaterials(const Lambda &LambdaFunc)
Definition ShapeInstance.h:1262
static CHAOS_API void UpdateGeometry(TUniquePtr< FPerShapeData > &InOutShapePtr, TSerializablePtr< FImplicitObject > InGeometry)
Definition ShapeInstance.cpp:191
const FImplicitObject * GetLeafGeometry() const
Definition ShapeInstance.h:1057
void UpdateShapeBounds(const FRigidTransform3 &WorldTM)
Definition ShapeInstance.h:1007
int32 GetShapeIndex() const
Definition ShapeInstance.h:1227
const FMaterialHandle & GetMaterial(const int32 Index) const
Definition ShapeInstance.h:1082
virtual CHAOS_API void Serialize(FChaosArchive &Ar)
Definition ShapeInstance.cpp:310
void SetMaterialMasks(const TArray< FMaterialMaskHandle > &InMaterialMasks)
Definition ShapeInstance.h:1127
decltype(auto) DownCast(const TLambda &Lambda)
Definition ShapeInstance.h:969
FRigidTransform3 GetLeafWorldTransform(const FGeometryParticleHandle *Particle) const
Definition ShapeInstance.h:1067
CHAOS_API void SetShapeFilterData(const Filter::FShapeFilterData &InShapeFilter)
Definition ShapeInstance.cpp:201
void SetMaterials(const TArray< FMaterialHandle > &InMaterials)
Definition ShapeInstance.h:1117
bool GetSimEnabled() const
Definition ShapeInstance.h:1167
void SyncRemoteData(FDirtyPropertiesManager &Manager, int32 ShapeDataIdx, FShapeDirtyData &RemoteData)
Definition ShapeInstance.h:1217
const TAABB< FReal, 3 > & GetWorldSpaceInflatedShapeBounds() const
Definition ShapeInstance.h:111
void SetCollisionData(const FCollisionData &Data)
Definition ShapeInstance.h:1202
void SetProxy(IPhysicsProxyBase *InProxy)
Definition ShapeInstance.h:1222
TAABB< FReal, 3 > WorldSpaceShapeBounds
Definition ShapeInstance.h:228
uint32 bIsSingleMaterial
Definition ShapeInstance.h:224
FPerShapeData(const EPerShapeDataType InType, const FPerShapeData &Other)
Definition ShapeInstance.h:212
void ModifyMaterialMasks(const Lambda &LambdaFunc)
Definition ShapeInstance.h:1250
const FMaterialData & GetMaterialData() const
Definition ShapeInstance.h:1207
const FCollisionFilterData & GetSimData() const
Definition ShapeInstance.h:1032
const TArray< FMaterialMaskHandle > & GetMaterialMasks() const
Definition ShapeInstance.h:1092
static constexpr bool AlwaysSerializable
Definition ShapeInstance.h:65
Private::FShapeInstanceExtended * AsShapeInstanceExtended()
Definition ShapeInstance.h:950
void SetSimData(const FCollisionFilterData &InSimData)
Definition ShapeInstance.h:1037
static CHAOS_API TUniquePtr< FPerShapeData > CreatePerShapeData(int32 InShapeIdx, TSerializablePtr< FImplicitObject > InGeometry)
Definition ShapeInstance.cpp:185
static CHAOS_API FPerShapeData * SerializationFactory(FChaosArchive &Ar, FPerShapeData *)
Definition ShapeInstance.cpp:335
void ModifyShapeIndex(int32 NewShapeIndex)
Definition ShapeInstance.h:1232
FShapeInstanceProxy * AsShapeInstanceProxy()
Definition ShapeInstance.h:914
void SetCollisionTraceType(const EChaosCollisionTraceFlag InTraceFlag)
Definition ShapeInstance.h:1192
void SetSimEnabled(const bool bEnable)
Definition ShapeInstance.h:1172
FImplicitObjectPtr Geometry
Definition ShapeInstance.h:227
void ModifyMaterialMaskMaps(const Lambda &LambdaFunc)
Definition ShapeInstance.h:1256
const FCollisionData & GetCollisionData() const
Definition ShapeInstance.h:1197
void UpdateLeafWorldTransform(FGeometryParticleHandle *Particle)
Definition ShapeInstance.h:1072
FShapeDirtyFlags DirtyFlags
Definition ShapeInstance.h:226
const TArray< uint32 > & GetMaterialMaskMaps() const
Definition ShapeInstance.h:1097
CHAOS_API const Filter::FCombinedShapeFilterData GetCombinedShapeFilterData() const
Definition ShapeInstance.cpp:216
const FShapeDirtyFlags GetDirtyFlags() const
Definition ShapeInstance.h:1107
void SetMaterialMaskMapMaterials(const TArray< FMaterialHandle > &InMaterialMaskMapMaterials)
Definition ShapeInstance.h:1147
void ModifyMaterials(const Lambda &LambdaFunc)
Definition ShapeInstance.h:1244
uint32 ShapeIdx
Definition ShapeInstance.h:225
bool GetQueryEnabled() const
Definition ShapeInstance.h:1157
CHAOS_API const Filter::FInstanceData GetFilterInstanceData() const
Definition ShapeInstance.cpp:206
void UpdateWorldSpaceState(const FRigidTransform3 &WorldTransform)
Definition ShapeInstance.h:1052
Definition PhysicsSolverBase.h:313
Definition ParticleDirtyFlags.h:1228
Definition ShapeInstance.h:260
CHAOS_API FRigidTransform3 GetLeafWorldTransform(const FGeometryParticleHandle *Particle) const
Definition ShapeInstance.cpp:460
void SetMaterials(TArray< FMaterialHandle > &&InMaterials)
Definition ShapeInstance.h:351
const FCollisionData & GetCollisionData() const
Definition ShapeInstance.h:407
CHAOS_API FRigidTransform3 GetLeafRelativeTransform() const
Definition ShapeInstance.cpp:445
void SetQueryData(const FCollisionFilterData &InQueryData)
Definition ShapeInstance.h:291
virtual CHAOS_API void SerializeMaterials(FChaosArchive &Ar) override final
Definition ShapeInstance.cpp:348
void SetSimData(const FCollisionFilterData &InSimData)
Definition ShapeInstance.h:297
bool GetSimEnabled() const
Definition ShapeInstance.h:389
CHAOS_API void UpdateLeafWorldTransform(FGeometryParticleHandle *Particle)
Definition ShapeInstance.cpp:474
void SetMaterials(const TArray< FMaterialHandle > &InMaterials)
Definition ShapeInstance.h:343
const FShapeDirtyFlags GetDirtyFlags() const
Definition ShapeInstance.h:332
void SetProxy(IPhysicsProxyBase *InProxy)
Definition ShapeInstance.h:429
void SetMaterialMaskMaps(const TArray< uint32 > &InMaterialMaskMaps)
Definition ShapeInstance.h:367
void SetCollisionTraceType(const EChaosCollisionTraceFlag InTraceFlag)
Definition ShapeInstance.h:402
PRAGMA_DISABLE_INTERNAL_WARNINGS const FCollisionFilterData & GetQueryData() const
Definition ShapeInstance.h:290
void ModifyMaterials(const Lambda &LambdaFunc)
Definition ShapeInstance.h:453
const TArray< uint32 > & GetMaterialMaskMaps() const
Definition ShapeInstance.h:329
PRAGMA_ENABLE_INTERNAL_WARNINGS CHAOS_API const Filter::FShapeFilterData GetShapeFilterData() const
Definition ShapeInstance.cpp:236
const TArray< FMaterialHandle > & GetMaterialMaskMapMaterials() const
Definition ShapeInstance.h:330
TShapeProperty< FCollisionData, EShapeProperty::CollisionData > CollisionData
Definition ShapeInstance.h:520
void SetMaterial(FMaterialHandle InMaterial)
Definition ShapeInstance.h:334
EChaosCollisionTraceFlag GetCollisionTraceType() const
Definition ShapeInstance.h:401
IPhysicsProxyBase * Proxy
Definition ShapeInstance.h:518
CHAOS_API void UpdateWorldSpaceState(const FRigidTransform3 &WorldTransform)
Definition ShapeInstance.cpp:435
static void UpdateGeometry(TUniquePtr< FShapeInstanceProxy > &InOutShapePtr, TSerializablePtr< FImplicitObject > InGeometry)
Definition ShapeInstance.h:272
CHAOS_API const FImplicitObject * GetLeafGeometry() const
Definition ShapeInstance.cpp:440
void ModifyMaterialMaskMaps(const Lambda &LambdaFunc)
Definition ShapeInstance.h:471
FShapeInstanceProxy(int32 InShapeIdx)
Definition ShapeInstance.h:489
void SetCollisionData(const FCollisionData &Data)
Definition ShapeInstance.h:409
void SetQueryEnabled(const bool bEnable)
Definition ShapeInstance.h:384
bool GetIsProbe() const
Definition ShapeInstance.h:395
void SetMaterialData(const FMaterialData &Data)
Definition ShapeInstance.h:416
void SetUserData(void *InUserData)
Definition ShapeInstance.h:284
CHAOS_API void UpdateShapeBounds(const FRigidTransform3 &WorldTM)
Definition ShapeInstance.cpp:423
CHAOS_API const Filter::FInstanceData GetFilterInstanceData() const
Definition ShapeInstance.cpp:246
FShapeInstanceProxy(int32 InShapeIdx, const FImplicitObjectPtr &InGeometry)
Definition ShapeInstance.h:507
void SyncRemoteData(FDirtyPropertiesManager &Manager, int32 ShapeDataIdx, FShapeDirtyData &RemoteData)
Definition ShapeInstance.h:421
void ModifyMaterialMaskMapMaterials(const Lambda &LambdaFunc)
Definition ShapeInstance.h:480
void SetSimEnabled(const bool bEnable)
Definition ShapeInstance.h:390
static CHAOS_API FShapeInstanceProxy * SerializationFactory(FChaosArchive &Ar, FShapeInstanceProxy *)
Definition ShapeInstance.cpp:342
const FMaterialData & GetMaterialData() const
Definition ShapeInstance.h:414
const FCollisionFilterData & GetSimData() const
Definition ShapeInstance.h:296
bool GetQueryEnabled() const
Definition ShapeInstance.h:383
void SetMaterialMaskMapMaterials(const TArray< FMaterialHandle > &InMaterialMaskMapMaterials)
Definition ShapeInstance.h:375
TShapeProperty< FMaterialData, EShapeProperty::Materials > Materials
Definition ShapeInstance.h:521
static TUniquePtr< FShapeInstanceProxy > Make(int32 InShapeIdx, TSerializablePtr< FImplicitObject > InGeometry)
Definition ShapeInstance.h:265
void SetMaterialMasks(const TArray< FMaterialMaskHandle > &InMaterialMasks)
Definition ShapeInstance.h:359
CHAOS_API void SetFilterInstanceData(const Filter::FInstanceData &InInstanceData)
Definition ShapeInstance.cpp:251
void * GetUserData() const
Definition ShapeInstance.h:283
void SetIsProbe(const bool bIsProbe)
Definition ShapeInstance.h:396
CHAOS_API const Filter::FCombinedShapeFilterData GetCombinedShapeFilterData() const
Definition ShapeInstance.cpp:256
CHAOS_API void SetShapeFilterData(const Filter::FShapeFilterData &InShapeFilter)
Definition ShapeInstance.cpp:241
int32 NumMaterials() const
Definition ShapeInstance.h:324
void ModifyMaterialMasks(const Lambda &LambdaFunc)
Definition ShapeInstance.h:462
const FMaterialHandle & GetMaterial(const int32 Index) const
Definition ShapeInstance.h:325
void ModifySimData(const Lambda &LambdaFunc)
Definition ShapeInstance.h:445
const TArray< FMaterialHandle > & GetMaterials() const
Definition ShapeInstance.h:327
CHAOS_API void SetCombinedShapeFilterData(const Filter::FCombinedShapeFilterData &InCombinedShapeFilter)
Definition ShapeInstance.cpp:261
const TArray< FMaterialMaskHandle > & GetMaterialMasks() const
Definition ShapeInstance.h:328
Definition ShapeInstance.h:554
void SetSimData(const FCollisionFilterData &InSimData)
Definition ShapeInstance.h:580
const TArray< FMaterialMaskHandle > & GetMaterialMasks() const
Definition ShapeInstance.h:658
const FMaterialHandle & GetMaterial(const int32 Index) const
Definition ShapeInstance.h:616
void SetMaterials(TArray< FMaterialHandle > &&InMaterials)
Definition ShapeInstance.h:664
const TArray< FMaterialHandle > & GetMaterials() const
Definition ShapeInstance.h:657
CHAOS_API const Filter::FInstanceData GetFilterInstanceData() const
Definition ShapeInstance.cpp:394
FShapeInstance(const EPerShapeDataType InType, FShapeInstance &&Other)
Definition ShapeInstance.h:753
void SetMaterialData(const FMaterialData &Data)
Definition ShapeInstance.h:685
void SetSimEnabled(const bool bEnable)
Definition ShapeInstance.h:673
void SyncRemoteData(FDirtyPropertiesManager &Manager, int32 ShapeDataIdx, FShapeDirtyData &RemoteData)
Definition ShapeInstance.h:689
void SetMaterialMaskMaps(const TArray< uint32 > &InMaterialMaskMaps)
Definition ShapeInstance.h:666
CHAOS_API void UpdateShapeBounds(const FRigidTransform3 &WorldTM)
Definition ShapeInstance.cpp:487
static CHAOS_API void UpdateGeometry(TUniquePtr< FShapeInstance > &InOutShapePtr, const FImplicitObjectPtr &InGeometry)
Definition ShapeInstance.cpp:280
CHAOS_API const Filter::FCombinedShapeFilterData GetCombinedShapeFilterData() const
Definition ShapeInstance.cpp:404
void * GetUserData() const
Definition ShapeInstance.h:572
const FMaterialData & GetMaterialData() const
Definition ShapeInstance.h:684
void SetUserData(void *InUserData)
Definition ShapeInstance.h:573
void SetIsProbe(const bool bIsProbe)
Definition ShapeInstance.h:676
CHAOS_API void UpdateLeafWorldTransform(FGeometryParticleHandle *Particle)
Definition ShapeInstance.cpp:569
void ModifyMaterialMasks(const Lambda &LambdaFunc)
Definition ShapeInstance.h:696
CHAOS_API FRigidTransform3 GetLeafWorldTransform(const FGeometryParticleHandle *Particle) const
Definition ShapeInstance.cpp:548
bool GetSimEnabled() const
Definition ShapeInstance.h:672
FMaterialData & GetMaterialDataImpl()
Definition ShapeInstance.h:768
void ModifyMaterialMaskMapMaterials(const Lambda &LambdaFunc)
Definition ShapeInstance.h:698
CHAOS_API void SetShapeFilterData(const Filter::FShapeFilterData &InShapeFilter)
Definition ShapeInstance.cpp:389
FShapeInstance(int32 InShapeIdx, const FImplicitObjectPtr &InGeometry)
Definition ShapeInstance.h:716
PRAGMA_DISABLE_DEPRECATION_WARNINGS void ModifySimData(const Lambda &LambdaFunc)
Definition ShapeInstance.h:693
FShapeInstance(FShapeInstance &&Other)
Definition ShapeInstance.h:723
static CHAOS_API FShapeInstance * SerializationFactory(FChaosArchive &Ar, FShapeInstance *)
Definition ShapeInstance.cpp:353
void SetQueryData(const FCollisionFilterData &InQueryData)
Definition ShapeInstance.h:577
CHAOS_API void SetCombinedShapeFilterData(const Filter::FCombinedShapeFilterData &InCombinedShapeFilter)
Definition ShapeInstance.cpp:409
CHAOS_API void SetFilterInstanceData(const Filter::FInstanceData &InInstanceData)
Definition ShapeInstance.cpp:399
PRAGMA_ENABLE_INTERNAL_WARNINGS CHAOS_API const Filter::FShapeFilterData GetShapeFilterData() const
Definition ShapeInstance.cpp:384
void SetProxy(IPhysicsProxyBase *InProxy)
Definition ShapeInstance.h:690
void SetCollisionData(const FCollisionData &Data)
Definition ShapeInstance.h:682
void SetMaterialMasks(const TArray< FMaterialMaskHandle > &InMaterialMasks)
Definition ShapeInstance.h:665
const FCollisionFilterData & GetSimData() const
Definition ShapeInstance.h:579
void SetMaterialMaskMapMaterials(const TArray< FMaterialHandle > &InMaterialMaskMapMaterials)
Definition ShapeInstance.h:667
void SetQueryEnabled(const bool bEnable)
Definition ShapeInstance.h:670
const TArray< FMaterialHandle > & GetMaterialMaskMapMaterials() const
Definition ShapeInstance.h:660
FMaterialUnion Material
Definition ShapeInstance.h:840
virtual CHAOS_API void SerializeMaterials(FChaosArchive &Ar) override final
Definition ShapeInstance.cpp:359
CHAOS_API void UpdateWorldSpaceState(const FRigidTransform3 &WorldTransform)
Definition ShapeInstance.cpp:499
const TArray< uint32 > & GetMaterialMaskMaps() const
Definition ShapeInstance.h:659
static CHAOS_API TUniquePtr< FShapeInstance > Make(int32 InShapeIdx, const FImplicitObjectPtr &InGeometry)
Definition ShapeInstance.cpp:267
void ModifyMaterialMaskMaps(const Lambda &LambdaFunc)
Definition ShapeInstance.h:697
const FCollisionData & GetCollisionData() const
Definition ShapeInstance.h:681
CHAOS_API const FImplicitObject * GetLeafGeometry() const
Definition ShapeInstance.cpp:528
const FMaterialData & GetMaterialDataImpl() const
Definition ShapeInstance.h:791
PRAGMA_ENABLE_DEPRECATION_WARNINGS void ModifyMaterials(const Lambda &LambdaFunc)
Definition ShapeInstance.h:695
int32 NumMaterialsInternal(const THandleArray< FChaosPhysicsMaterial > *const SimMaterials) const
Definition ShapeInstance.h:630
const FMaterialHandle & GetMaterialInternal(const int32 Index, const THandleArray< FChaosPhysicsMaterial > *const SimMaterials) const
Definition ShapeInstance.h:642
FCollisionData CollisionData
Definition ShapeInstance.h:839
int32 NumMaterials() const
Definition ShapeInstance.h:604
bool GetQueryEnabled() const
Definition ShapeInstance.h:669
bool GetIsProbe() const
Definition ShapeInstance.h:675
virtual ~FShapeInstance()
Definition ShapeInstance.h:562
const FShapeDirtyFlags GetDirtyFlags() const
Definition ShapeInstance.h:688
void SetMaterialDataImpl(const FMaterialData &Data)
Definition ShapeInstance.h:811
void SetMaterialImpl(const FMaterialHandle &InMaterial)
Definition ShapeInstance.h:796
void SetMaterials(const TArray< FMaterialHandle > &InMaterials)
Definition ShapeInstance.h:663
EChaosCollisionTraceFlag GetCollisionTraceType() const
Definition ShapeInstance.h:678
void SetMaterial(FMaterialHandle InMaterial)
Definition ShapeInstance.h:662
void SetCollisionTraceType(const EChaosCollisionTraceFlag InTraceFlag)
Definition ShapeInstance.h:679
FShapeInstance(int32 InShapeIdx)
Definition ShapeInstance.h:701
CHAOS_API FRigidTransform3 GetLeafRelativeTransform() const
Definition ShapeInstance.cpp:533
PRAGMA_DISABLE_INTERNAL_WARNINGS const FCollisionFilterData & GetQueryData() const
Definition ShapeInstance.h:576
FShapeInstance(const EPerShapeDataType InType, int32 InShapeIdx, FImplicitObjectPtr InGeometry)
Definition ShapeInstance.h:746
Definition ShapeInstance.h:866
FShapeInstanceExtended(FShapeInstance &&PerShapeData)
Definition ShapeInstance.h:894
FRigidTransform3 GetWorldTransform() const
Definition ShapeInstance.h:870
FVec3 WorldPosition
Definition ShapeInstance.h:901
FRotation3 WorldRotation
Definition ShapeInstance.h:900
void SetWorldTransform(const FRigidTransform3 &LeafWorldTransform)
Definition ShapeInstance.h:875
FShapeInstanceExtended(int32 InShapeIdx, FImplicitObjectPtr InGeometry)
Definition ShapeInstance.h:882
bool IsDirty() const
Definition ParticleDirtyFlags.h:922
void Clear()
Definition ParticleDirtyFlags.h:947
Definition ParticleHandle.h:436
Definition Serializable.h:10
Definition Properties.h:101
Definition PhysicsProxyBase.h:97
SOLVER_TYPE * GetSolver() const
Definition PhysicsProxyBase.h:110
UE_FORCEINLINE_HINT ReferencedType * GetReference() const
Definition RefCounting.h:584
Definition UniquePtr.h:107
Definition SkeletalMeshComponent.h:307
TArray< TUniquePtr< FPerShapeData >, TInlineAllocator< 1 > > FShapesArray
Definition ShapeInstanceFwd.h:18
TRigidTransform< FReal, 3 > FRigidTransform3
Definition Core.h:22
FChaosArchive & operator<<(FChaosArchive &Ar, FRigidParticleControlFlags &Flags)
Definition RigidParticleControlFlags.cpp:15
void UpdateShapesArrayFromGeometry(FShapeInstanceArray &ShapesArray, const FImplicitObjectPtr &Geometry, const FRigidTransform3 &ActorTM)
Definition ShapeInstance.cpp:90
FRealDouble FReal
Definition Real.h:22
TDirtyFlags< EShapeFlags > FShapeDirtyFlags
Definition ParticleDirtyFlags.h:967
EChaosCollisionTraceFlag
Definition Particles.h:231
Definition OverriddenPropertySet.cpp:45
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition ParticleDirtyFlags.h:722
EChaosCollisionTraceFlag CollisionTraceType
Definition ParticleDirtyFlags.h:729
uint8 bSimCollision
Definition ParticleDirtyFlags.h:730
PRAGMA_ENABLE_DEPRECATION_WARNINGS UE_INTERNAL CHAOS_API const FCollisionFilterData & GetQueryData() const
Definition ParticleDirtyFlags.cpp:7
FCollisionFilterData SimData
Definition ParticleDirtyFlags.h:726
UE_INTERNAL CHAOS_API void SetQueryData(const FCollisionFilterData &InQueryData)
Definition ParticleDirtyFlags.cpp:14
uint8 bIsProbe
Definition ParticleDirtyFlags.h:732
UE_INTERNAL CHAOS_API void SetSimData(const FCollisionFilterData &InSimData)
Definition ParticleDirtyFlags.cpp:28
void * UserData
Definition ParticleDirtyFlags.h:728
UE_INTERNAL CHAOS_API const FCollisionFilterData & GetSimData() const
Definition ParticleDirtyFlags.cpp:21
uint8 bQueryCollision
Definition ParticleDirtyFlags.h:731
Definition ParticleDirtyFlags.h:827
TArray< FMaterialMaskHandle > MaterialMasks
Definition ParticleDirtyFlags.h:829
TArray< FMaterialHandle > MaterialMaskMapMaterials
Definition ParticleDirtyFlags.h:831
TArray< FMaterialHandle > Materials
Definition ParticleDirtyFlags.h:828
TArray< uint32 > MaterialMaskMaps
Definition ParticleDirtyFlags.h:830
Definition PhysicalMaterials.h:24
bool IsValidInternal(const THandleArray< FChaosPhysicsMaterial > *const SimMaterials) const
Definition PhysicalMaterials.h:32
bool IsValid() const
Definition PhysicalMaterials.h:31
Definition CollisionFilterData.h:187
Definition CollisionFilterData.h:81
Definition CollisionFilterData.h:107
Definition CollisionFilterData.h:46
Definition ShapeInstance.h:831
~FMaterialUnion()
Definition ShapeInstance.h:833
FMaterialUnion()
Definition ShapeInstance.h:832
FMaterialHandle MaterialHandle
Definition ShapeInstance.h:835
FMaterialData * MaterialData
Definition ShapeInstance.h:836