17 return ::HashCombine(
A,
B);
21 return ::HashCombine(
B,
A);
30 return (Particle1->ParticleID() < Particle0->ParticleID());
82 return ::HashCombineFast(
uint32(Key.Key64 & 0xFFFFFFFF),
uint32((Key.Key64 >> 32) & 0xFFFFFFFF));
87 return L.Key.Key64 ==
R.Key.Key64;
92 return L.Key.Key64 !=
R.Key.Key64;
97 return L.Key.Key64 <
R.Key.Key64;
104 if ((Particle0 !=
nullptr) && (Particle1 !=
nullptr))
114 Key.Key32s[0].Key31 =
ID0;
116 Key.Key32s[1].Key31 =
ID1;
121 Key.Key32s[0].Key31 =
ID1;
123 Key.Key32s[1].Key31 =
ID0;
129 struct FParticleIDKey
137 FParticleIDKey Key32s[2];
141 static_assert(
sizeof(FParticleID) == 8,
"FParticleID size does not match FCollisionParticlePairKey (expected 64 bits)");
142 static_assert(
sizeof(
FParticleID::GlobalID) == 4,
"FParticleID::GlobalID size does not match FCollisionParticlePairKey (expected 32 bits)");
143 static_assert(
sizeof(
FParticleID::LocalID) == 4,
"FParticleID::LocalID size does not match FCollisionParticlePairKey (expected 32 bits)");
144 static_assert(
sizeof(FParticleIDKey) == 4,
"FCollisionParticlePairKey::FParticleIDKey size is not 32 bits");
145 static_assert(
sizeof(FIDKey) == 8,
"FCollisionParticlePairKey::FIDKey size is not 64 bits");
176 return L.
Key ==
R.Key;
181 return L.
Key !=
R.Key;
186 return L.
Key <
R.Key;
229 return L.
Key ==
R.Key;
234 return L.
Key !=
R.Key;
239 return L.
Key <
R.Key;
279 return (L.ParticlePairKey ==
R.ParticlePairKey) && (L.ShapePairKey ==
R.ShapePairKey);
284 return (L.ParticlePairKey !=
R.ParticlePairKey) || (L.ShapePairKey !=
R.ShapePairKey);
326 UE_DEPRECATED(5.3,
"Replaced with version that takes Shape and ImplicitID")
358 return L.Key ==
R.Key;
368 return L.Key <
R.Key;
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#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
bool operator<(const FTextFormatString &LHS, const FTextFormatString &RHS)
Definition ITextFormatArgumentModifier.h:147
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
constexpr uint32 HashCombineFast(uint32 A, uint32 B)
Definition TypeHash.h:74
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
Definition BVHParticles.h:24
Definition ImplicitObject.h:111
Definition ShapeInstance.h:554
Definition CollisionKeys.h:59
friend bool operator<(const FCollisionParticlePairKey &L, const FCollisionParticlePairKey &R)
Definition CollisionKeys.h:95
uint64 KeyType
Definition CollisionKeys.h:61
FCollisionParticlePairKey()
Definition CollisionKeys.h:63
uint32 GetHash() const
Definition CollisionKeys.h:78
uint64 GetKey() const
Definition CollisionKeys.h:73
friend bool operator!=(const FCollisionParticlePairKey &L, const FCollisionParticlePairKey &R)
Definition CollisionKeys.h:90
friend bool operator==(const FCollisionParticlePairKey &L, const FCollisionParticlePairKey &R)
Definition CollisionKeys.h:85
FCollisionParticlePairKey(const FGeometryParticleHandle *Particle0, const FGeometryParticleHandle *Particle1, const bool bSymmetric=true)
Definition CollisionKeys.h:68
Definition CollisionKeys.h:156
friend bool operator<(const FCollisionShapePairKey &L, const FCollisionShapePairKey &R)
Definition CollisionKeys.h:184
friend bool operator==(const FCollisionShapePairKey &L, const FCollisionShapePairKey &R)
Definition CollisionKeys.h:174
uint32 ShapeID0
Definition CollisionKeys.h:194
uint32 ShapeID1
Definition CollisionKeys.h:195
FCollisionShapePairKey(const int32 InShapeID0, const int32 InShapeID1)
Definition CollisionKeys.h:163
friend bool operator!=(const FCollisionShapePairKey &L, const FCollisionShapePairKey &R)
Definition CollisionKeys.h:179
uint64 Key
Definition CollisionKeys.h:197
FCollisionShapePairKey()
Definition CollisionKeys.h:158
uint64 GetKey() const
Definition CollisionKeys.h:169
Definition CollisionKeys.h:210
friend bool operator==(const FCollisionSortKeyHashed &L, const FCollisionSortKeyHashed &R)
Definition CollisionKeys.h:227
friend bool operator!=(const FCollisionSortKeyHashed &L, const FCollisionSortKeyHashed &R)
Definition CollisionKeys.h:232
uint32 ShapesKey
Definition CollisionKeys.h:248
uint32 ParticlesKey
Definition CollisionKeys.h:247
FCollisionSortKeyHashed(const FGeometryParticleHandle *InParticle0, const int32 InShapeID0, const FGeometryParticleHandle *InParticle1, const int32 InShapeID1)
Definition CollisionKeys.h:217
friend bool operator<(const FCollisionSortKeyHashed &L, const FCollisionSortKeyHashed &R)
Definition CollisionKeys.h:237
FCollisionSortKeyHashed()
Definition CollisionKeys.h:212
uint64 Key
Definition CollisionKeys.h:250
Definition CollisionKeys.h:261
friend bool operator<(const FCollisionSortKeyNonHashed &L, const FCollisionSortKeyNonHashed &R)
Definition CollisionKeys.h:287
FCollisionSortKeyNonHashed()
Definition CollisionKeys.h:263
FCollisionSortKeyNonHashed(const FGeometryParticleHandle *InParticle0, const int32 InShapeID0, const FGeometryParticleHandle *InParticle1, const int32 InShapeID1)
Definition CollisionKeys.h:269
friend bool operator!=(const FCollisionSortKeyNonHashed &L, const FCollisionSortKeyNonHashed &R)
Definition CollisionKeys.h:282
friend bool operator==(const FCollisionSortKeyNonHashed &L, const FCollisionSortKeyNonHashed &R)
Definition CollisionKeys.h:277
Definition ParticleHandle.h:436
EObjectStateType ObjectState() const
Definition ParticleHandle.h:1716
Definition SkeletalMeshComponent.h:307
uint32 OrderIndependentHashCombine(const uint32 A, const uint32 B)
Definition CollisionKeys.h:13
EObjectStateType
Definition ObjectState.h:10
FORCEINLINE uint32 GetTypeHash(const FParticleID &Unique)
Definition GeometryParticles.h:99
bool AreParticlesInPreferredOrder(const FGeometryParticleHandle *Particle0, const FGeometryParticleHandle *Particle1)
Definition CollisionKeys.h:28
bool ShouldSwapParticleOrder(const bool bIsDynamicOrSleeping0, const bool bIsDynamicOrSleeping1, const bool bIsParticle0Preferred)
Definition CollisionKeys.h:37
Definition OverriddenPropertySet.cpp:45
@ false
Definition radaudio_common.h:23
int32 LocalID
Definition ParticleDirtyFlags.h:39
int32 GlobalID
Definition ParticleDirtyFlags.h:38