8#include "Containers/Array.h"
157 template<Chaos::EThreadContext Id>
158 using TThreadQueryHit = std::conditional_t<Id == Chaos::EThreadContext::External, FQueryHit, FPTQueryHit>;
160 template<Chaos::EThreadContext Id>
161 using TThreadRaycastHit = std::conditional_t<Id == Chaos::EThreadContext::External, FRaycastHit, FPTRaycastHit>;
163 template<Chaos::EThreadContext Id>
164 using TThreadOverlapHit = std::conditional_t<Id == Chaos::EThreadContext::External, FOverlapHit, FPTOverlapHit>;
166 template<Chaos::EThreadContext Id>
167 using TThreadSweepHit = std::conditional_t<Id == Chaos::EThreadContext::External, FSweepHit, FPTSweepHit>;
169#ifndef CHAOS_HIT_BUFFER_SIZE
170#define CHAOS_HIT_BUFFER_SIZE 128
179 Hits.Add(BlockingHit);
187 Hits.Add(BlockingHit);
191 template <
typename HitType>
218 template<
typename HitType>
223 : AcceleratorDepth(0)
224 , bHasBlockingHit(
false)
241 if (AcceleratorDepth == 0)
250 const HitType*
GetHits()
const {
return Hits.GetData(); }
260 bHasBlockingHit =
true;
268 const HitType*
GetCurrentHit()
const {
return bHasBlockingHit ? &CurrentBlockingHit :
nullptr; }
295 HitType CurrentBlockingHit;
296 int32 AcceleratorDepth;
297 bool bHasBlockingHit;
303 template<
typename HitType>
@ ForceInitToZero
Definition CoreMiscDefines.h:156
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
#define CHAOS_HIT_BUFFER_SIZE
Definition SQTypes.h:170
void SetBlockingHit(const HitType &InBlockingHit)
Definition SQTypes.h:257
int32 GetNumHits() const
Definition SQTypes.h:248
const HitType * GetBlock() const
Definition SQTypes.h:253
const HitType * GetCurrentHit() const
Definition SQTypes.h:268
void IncFlushCount()
Definition SQTypes.h:233
HitType * GetHits()
Definition SQTypes.h:249
FSQHitBuffer(bool bSingle=false)
Definition SQTypes.h:222
void DecFlushCount()
Definition SQTypes.h:238
void InsertHit(const HitType &Hit, bool bBlocking)
Definition SQTypes.h:271
virtual ~FSQHitBuffer()
Definition SQTypes.h:230
const HitType * GetHits() const
Definition SQTypes.h:250
HitType * GetBlock()
Definition SQTypes.h:252
bool HasBlockingHit() const
Definition SQTypes.h:255
void AddTouchingHit(const HitType &InTouchingHit)
Definition SQTypes.h:263
bool WantsSingleResult() const
Definition SQTypes.h:286
bool HasHit() const
Definition SQTypes.h:247
FSQSingleHitBuffer()
Definition SQTypes.h:307
Definition ChaosArchive.h:167
Definition ShapeInstance.h:36
Definition ParticleHandle.h:436
Definition ParticleHandle.h:2739
virtual void Serialize(void *V, int64 Length) override
Definition ArchiveProxy.h:97
Definition ContainerAllocationPolicies.h:894
Definition ChaosInterfaceUtils.cpp:28
std::conditional_t< Id==Chaos::EThreadContext::External, FOverlapHit, FPTOverlapHit > TThreadOverlapHit
Definition SQTypes.h:164
std::conditional_t< Id==Chaos::EThreadContext::External, FRaycastHit, FPTRaycastHit > TThreadRaycastHit
Definition SQTypes.h:161
std::conditional_t< Id==Chaos::EThreadContext::External, FSweepHit, FPTSweepHit > TThreadSweepHit
Definition SQTypes.h:167
Chaos::FChaosArchive & operator<<(Chaos::FChaosArchive &Ar, FActorShape &ActorShape)
Definition SQTypes.h:34
std::conditional_t< Id==Chaos::EThreadContext::External, FQueryHit, FPTQueryHit > TThreadQueryHit
Definition SQTypes.h:158
void FinishQueryHelper(TArray< FOverlapHit, TInlineAllocator< CHAOS_HIT_BUFFER_SIZE > > &Hits, const FOverlapHit &BlockingHit, bool bHasBlockingHit)
Definition SQTypes.h:175
Definition SkeletalMeshComponent.h:307
@ false
Definition radaudio_common.h:23
const Chaos::FPerShapeData * Shape
Definition SQTypes.h:29
Chaos::FGeometryParticle * Actor
Definition SQTypes.h:28
bool operator<(const FLocationHit &Other) const
Definition SQTypes.h:71
FVector WorldPosition
Definition SQTypes.h:65
FVector WorldNormal
Definition SQTypes.h:66
float Distance
Definition SQTypes.h:67
FHitFlags Flags
Definition SQTypes.h:64
const Chaos::FPerShapeData * Shape
Definition SQTypes.h:118
Chaos::FGeometryParticleHandle * Actor
Definition SQTypes.h:117
FHitFlags Flags
Definition SQTypes.h:135
float Distance
Definition SQTypes.h:138
bool operator<(const FPTLocationHit &Other) const
Definition SQTypes.h:140
FVector WorldNormal
Definition SQTypes.h:137
FVector WorldPosition
Definition SQTypes.h:136
int32 FaceIndex
Definition SQTypes.h:127
int32 ElementIndex
Definition SQTypes.h:130
FVector FaceNormal
Definition SQTypes.h:128
float V
Definition SQTypes.h:146
float U
Definition SQTypes.h:145
int32 FaceIndex
Definition SQTypes.h:48
int32 ElementIndex
Definition SQTypes.h:51
FVector FaceNormal
Definition SQTypes.h:49
FQueryHit()
Definition SQTypes.h:42
float V
Definition SQTypes.h:83
float U
Definition SQTypes.h:82
Definition PhysicsInterfaceWrapperShared.h:86