169class UPrimitiveComponent;
177struct FPhysicsObject;
216 template <
class T>
static T*
Get(
void* UserData);
217 template <
class T>
static void Set(
void* UserData, T*
Payload);
222 template <EChaosUserDataType::Type UserDataType>
223 bool Is()
const {
return Type == UserDataType; }
270 return !(
Other == *
this);
303template <
typename enumtype,
typename storagetype = u
int32_t>
353 out.mBits = a & b.mBits;
402template <
typename enumtype,
typename storagetype>
408template <
typename enumtype,
typename storagetype>
414template <
typename enumtype,
typename storagetype>
420template <
typename enumtype,
typename storagetype>
426template <
typename enumtype,
typename storagetype>
432template <
typename enumtype,
typename storagetype>
439template <
typename enumtype,
typename storagetype>
445template <
typename enumtype,
typename storagetype>
448 return mBits == f.mBits;
451template <
typename enumtype,
typename storagetype>
454 return bool(*
this) == b;
457template <
typename enumtype,
typename storagetype>
463template <
typename enumtype,
typename storagetype>
466 return mBits != f.mBits;
469template <
typename enumtype,
typename storagetype>
476template <
typename enumtype,
typename storagetype>
483template <
typename enumtype,
typename storagetype>
490template <
typename enumtype,
typename storagetype>
498template <
typename enumtype,
typename storagetype>
506template <
typename enumtype,
typename storagetype>
515template <
typename enumtype,
typename storagetype>
522template <
typename enumtype,
typename storagetype>
530template <
typename enumtype,
typename storagetype>
538template <
typename enumtype,
typename storagetype>
543 out.mBits &= f.mBits;
547template <
typename enumtype,
typename storagetype>
554template <
typename enumtype,
typename storagetype>
562template <
typename enumtype,
typename storagetype>
570template <
typename enumtype,
typename storagetype>
575 out.mBits ^= f.mBits;
579template <
typename enumtype,
typename storagetype>
587template <
typename enumtype,
typename storagetype>
590 return mBits ?
true :
false;
593template <
typename enumtype,
typename storagetype>
596 return static_cast<uint8_t>(mBits);
599template <
typename enumtype,
typename storagetype>
602 return static_cast<uint16_t>(mBits);
605template <
typename enumtype,
typename storagetype>
608 return static_cast<uint32_t>(mBits);
611template <
typename enumtype,
typename storagetype>
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
#define FVector
Definition IOSSystemIncludes.h:8
UE::Math::TQuat< double > FQuat
Definition MathFwd.h:50
const bool
Definition NetworkReplayStreaming.h:178
ChaosFlags< FChaosQueryFlag::Enum, uint16 > FChaosQueryFlags
Definition PhysicsInterfaceTypesCore.h:361
ECollisionQuery
Definition PhysicsInterfaceTypesCore.h:43
constexpr uint32 AggregateMaxSize
Definition PhysicsInterfaceTypesCore.h:166
ECollisionShapeType
Definition PhysicsInterfaceTypesCore.h:49
void SetupNonUniformHelper(FVector InScale3D, double &OutMinScale, double &OutMinScaleAbs, FVector &OutScale3DAbs)
Definition PhysicsInterfaceTypesCore.h:92
FChaosQueryFlags U2CQueryFlags(FQueryFlags Flags)
Definition PhysicsInterfaceTypesCore.h:363
bool CalcMeshNegScaleCompensation(const FVector &InScale3D, FTransform &OutTransform)
Definition PhysicsInterfaceTypesCore.h:125
#define UE_PI
Definition UnrealMathUtility.h:129
Definition PhysicsInterfaceTypesCore.h:305
FORCEINLINE bool operator!=(const ChaosFlags< enumtype, storagetype > &f) const
Definition PhysicsInterfaceTypesCore.h:464
FORCEINLINE bool operator==(const ChaosFlags< enumtype, storagetype > &f) const
Definition PhysicsInterfaceTypesCore.h:446
FORCEINLINE bool operator!=(enumtype e) const
Definition PhysicsInterfaceTypesCore.h:458
FORCEINLINE bool operator==(bool b) const
Definition PhysicsInterfaceTypesCore.h:452
FORCEINLINE ChaosFlags< enumtype, storagetype > operator&(enumtype e) const
Definition PhysicsInterfaceTypesCore.h:531
FORCEINLINE ChaosFlags< enumtype, storagetype > & operator^=(const ChaosFlags< enumtype, storagetype > &f)
Definition PhysicsInterfaceTypesCore.h:556
FORCEINLINE ChaosFlags< enumtype, storagetype > operator&(const ChaosFlags< enumtype, storagetype > &f) const
Definition PhysicsInterfaceTypesCore.h:540
FORCEINLINE ChaosFlags< enumtype, storagetype > operator|(enumtype e) const
Definition PhysicsInterfaceTypesCore.h:499
FORCEINLINE ChaosFlags< enumtype, storagetype > & operator=(const ChaosFlags< enumtype, storagetype > &f)
Definition PhysicsInterfaceTypesCore.h:477
FORCEINLINE ChaosFlags< enumtype, storagetype > operator|(const ChaosFlags< enumtype, storagetype > &f) const
Definition PhysicsInterfaceTypesCore.h:508
FORCEINLINE bool isSet(enumtype e) const
Definition PhysicsInterfaceTypesCore.h:427
FORCEINLINE ChaosFlags(storagetype b)
Definition PhysicsInterfaceTypesCore.h:421
storagetype InternalType
Definition PhysicsInterfaceTypesCore.h:307
FORCEINLINE ChaosFlags< enumtype, storagetype > operator^(enumtype e) const
Definition PhysicsInterfaceTypesCore.h:563
FORCEINLINE ChaosFlags(enumtype e)
Definition PhysicsInterfaceTypesCore.h:409
FORCEINLINE bool operator==(enumtype e) const
Definition PhysicsInterfaceTypesCore.h:440
FORCEINLINE ChaosFlags< enumtype, storagetype > & operator|=(enumtype e)
Definition PhysicsInterfaceTypesCore.h:484
FORCEINLINE ChaosFlags< enumtype, storagetype > & operator^=(enumtype e)
Definition PhysicsInterfaceTypesCore.h:548
FORCEINLINE ChaosFlags< enumtype, storagetype > & operator=(enumtype e)
Definition PhysicsInterfaceTypesCore.h:470
FORCEINLINE ChaosFlags< enumtype, storagetype > & operator&=(const ChaosFlags< enumtype, storagetype > &f)
Definition PhysicsInterfaceTypesCore.h:524
FORCEINLINE void clear(enumtype e)
Definition PhysicsInterfaceTypesCore.h:612
FORCEINLINE ChaosFlags(void)
Definition PhysicsInterfaceTypesCore.h:403
FORCEINLINE ChaosFlags< enumtype, storagetype > & operator&=(enumtype e)
Definition PhysicsInterfaceTypesCore.h:516
FORCEINLINE ChaosFlags< enumtype, storagetype > operator~(void) const
Definition PhysicsInterfaceTypesCore.h:580
FORCEINLINE ChaosFlags< enumtype, storagetype > & operator|=(const ChaosFlags< enumtype, storagetype > &f)
Definition PhysicsInterfaceTypesCore.h:492
friend FORCEINLINE ChaosFlags< enumtype, storagetype > operator&(enumtype a, ChaosFlags< enumtype, storagetype > &b)
Definition PhysicsInterfaceTypesCore.h:350
FORCEINLINE ChaosFlags< enumtype, storagetype > operator^(const ChaosFlags< enumtype, storagetype > &f) const
Definition PhysicsInterfaceTypesCore.h:572
FORCEINLINE ChaosFlags< enumtype, storagetype > & set(enumtype e)
Definition PhysicsInterfaceTypesCore.h:433
FORCEINLINE ChaosFlags(const ChaosFlags< enumtype, storagetype > &f)
Definition PhysicsInterfaceTypesCore.h:415
Definition ChaosScene.h:88
Definition PhysScene_Chaos.h:116
Definition PhysicalMaterial.h:104
Definition PhysicsInterfaceTypesCore.h:181
Type
Definition PhysicsInterfaceTypesCore.h:183
@ PhysicalMaterial
Definition PhysicsInterfaceTypesCore.h:186
@ PhysScene
Definition PhysicsInterfaceTypesCore.h:187
@ AggShape
Definition PhysicsInterfaceTypesCore.h:190
@ ChaosUserEntity
Definition PhysicsInterfaceTypesCore.h:192
@ BodyInstance
Definition PhysicsInterfaceTypesCore.h:185
@ PhysicsObject
Definition PhysicsInterfaceTypesCore.h:191
@ PrimitiveComponent
Definition PhysicsInterfaceTypesCore.h:189
@ Invalid
Definition PhysicsInterfaceTypesCore.h:184
@ ConstraintInstance
Definition PhysicsInterfaceTypesCore.h:188
@ CustomPayload
Definition PhysicsInterfaceTypesCore.h:193
@ false
Definition radaudio_common.h:23
Definition PhysicsInterfaceTypesCore.h:14
FActorCreationParams()
Definition PhysicsInterfaceTypesCore.h:15
FChaosScene * Scene
Definition PhysicsInterfaceTypesCore.h:26
bool bStatic
Definition PhysicsInterfaceTypesCore.h:28
bool bQueryOnly
Definition PhysicsInterfaceTypesCore.h:29
bool bUpdateKinematicFromSimulation
Definition PhysicsInterfaceTypesCore.h:31
bool bSimulatePhysics
Definition PhysicsInterfaceTypesCore.h:32
FTransform InitialTM
Definition PhysicsInterfaceTypesCore.h:27
bool bEnableGravity
Definition PhysicsInterfaceTypesCore.h:30
char * DebugName
Definition PhysicsInterfaceTypesCore.h:34
bool bStartAwake
Definition PhysicsInterfaceTypesCore.h:33
Definition PhysicsInterfaceTypesCore.h:87
FBodyCollisionFlags CollisionFlags
Definition PhysicsInterfaceTypesCore.h:89
FBodyCollisionFilterData CollisionFilterData
Definition PhysicsInterfaceTypesCore.h:88
Definition PhysicsInterfaceTypesCore.h:62
FCollisionFilterData SimFilter
Definition PhysicsInterfaceTypesCore.h:63
FCollisionFilterData QueryComplexFilter
Definition PhysicsInterfaceTypesCore.h:65
FCollisionFilterData QuerySimpleFilter
Definition PhysicsInterfaceTypesCore.h:64
Definition PhysicsInterfaceTypesCore.h:69
bool bEnableSimCollisionComplex
Definition PhysicsInterfaceTypesCore.h:79
bool bEnableQueryCollision
Definition PhysicsInterfaceTypesCore.h:80
bool bEnableSimCollisionSimple
Definition PhysicsInterfaceTypesCore.h:78
bool bEnableProbeCollision
Definition PhysicsInterfaceTypesCore.h:81
FBodyCollisionFlags()
Definition PhysicsInterfaceTypesCore.h:70
Definition BodyInstanceCore.h:16
Definition BodyInstance.h:320
Definition PhysicsInterfaceTypesCore.h:250
FORCEINLINE bool operator==(const FChaosFilterData &Other) const
Definition PhysicsInterfaceTypesCore.h:263
uint32 word0
Definition PhysicsInterfaceTypesCore.h:273
uint32 word2
Definition PhysicsInterfaceTypesCore.h:275
FORCEINLINE bool operator!=(const FChaosFilterData &Other) const
Definition PhysicsInterfaceTypesCore.h:268
uint32 word1
Definition PhysicsInterfaceTypesCore.h:274
FORCEINLINE void Reset()
Definition PhysicsInterfaceTypesCore.h:258
FORCEINLINE FChaosFilterData()
Definition PhysicsInterfaceTypesCore.h:251
FORCEINLINE FChaosFilterData(uint32 w0, uint32 w1, uint32 w2, uint32 w3)
Definition PhysicsInterfaceTypesCore.h:256
uint32 word3
Definition PhysicsInterfaceTypesCore.h:276
Definition PhysicsInterfaceTypesCore.h:390
FORCEINLINE FChaosQueryFilterData(const FChaosFilterData &fd, FChaosQueryFlags f)
Definition PhysicsInterfaceTypesCore.h:393
FChaosFilterData data
Definition PhysicsInterfaceTypesCore.h:397
FORCEINLINE FChaosQueryFilterData(FChaosQueryFlags f)
Definition PhysicsInterfaceTypesCore.h:395
uint8 clientId
Definition PhysicsInterfaceTypesCore.h:399
FChaosQueryFlags flags
Definition PhysicsInterfaceTypesCore.h:398
FORCEINLINE FChaosQueryFilterData()
Definition PhysicsInterfaceTypesCore.h:391
Definition PhysicsInterfaceTypesCore.h:280
Enum
Definition PhysicsInterfaceTypesCore.h:282
@ ePOSTFILTER
Run the post-intersection-test filter.
Definition PhysicsInterfaceTypesCore.h:289
@ ePREFILTER
Run the pre-intersection-test filter.
Definition PhysicsInterfaceTypesCore.h:287
@ eSTATIC
Traverse static shapes.
Definition PhysicsInterfaceTypesCore.h:283
@ eANY_HIT
Definition PhysicsInterfaceTypesCore.h:291
@ eNO_BLOCK
Definition PhysicsInterfaceTypesCore.h:294
@ eRESERVED
Reserved for internal use.
Definition PhysicsInterfaceTypesCore.h:299
@ eSKIPNARROWPHASE
Skip narrow phase check for the query.
Definition PhysicsInterfaceTypesCore.h:297
@ eDYNAMIC
Traverse dynamic shapes.
Definition PhysicsInterfaceTypesCore.h:285
Definition PhysicsInterfaceTypesCore.h:199
FChaosUserData(FBodyInstance *InPayload)
Definition PhysicsInterfaceTypesCore.h:206
void * Payload
Definition PhysicsInterfaceTypesCore.h:202
FChaosUserData()
Definition PhysicsInterfaceTypesCore.h:205
FChaosUserData(FPhysScene *InPayload)
Definition PhysicsInterfaceTypesCore.h:208
FChaosUserData(FKShapeElem *InPayload)
Definition PhysicsInterfaceTypesCore.h:211
FChaosUserData(FChaosUserEntityAppend *InPayload)
Definition PhysicsInterfaceTypesCore.h:213
static bool IsGarbage(void *UserData)
Definition PhysicsInterfaceTypesCore.h:220
FChaosUserData(FPhysicsObject *InPayload)
Definition PhysicsInterfaceTypesCore.h:212
FChaosUserData(UPrimitiveComponent *InPayload)
Definition PhysicsInterfaceTypesCore.h:210
bool Is() const
Definition PhysicsInterfaceTypesCore.h:223
FChaosUserData(FConstraintInstance *InPayload)
Definition PhysicsInterfaceTypesCore.h:209
FChaosUserData(FCustomChaosPayload *InPayload)
Definition PhysicsInterfaceTypesCore.h:214
FChaosUserData(UPhysicalMaterial *InPayload)
Definition PhysicsInterfaceTypesCore.h:207
static void Set(void *UserData, T *Payload)
static T * Get(void *UserData)
EChaosUserDataType::Type Type
Definition PhysicsInterfaceTypesCore.h:201
Definition ChaosUserEntity.h:28
Definition CollisionFilterData.h:46
Definition ConstraintInstance.h:255
Definition ShapeElem.h:35
static UE_FORCEINLINE_HINT bool IsNearlyZero(float Value, float ErrorTolerance=UE_SMALL_NUMBER)
Definition UnrealMathUtility.h:407
static constexpr UE_FORCEINLINE_HINT T Max3(const T A, const T B, const T C)
Definition UnrealMathUtility.h:551
Definition PhysicsInterfaceWrapperShared.h:28