UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WorldCollision.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3// Structs that are used for Async Trace functionality
4// Mostly used by a batch of traces that you don't need a result right away
5
6#pragma once
7
9#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
10#include "CoreMinimal.h"
11#endif // UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
13#include "CollisionShape.h"
14#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
16#include "Engine/HitResult.h"
17#endif // UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
18
19struct FOverlapDatum;
20struct FTraceDatum;
21struct FHitResult;
22struct FOverlapResult;
24
29{
31 union
32 {
34 struct
35 {
39 };
41 bool bTransactional = false;
42
50
51 friend inline uint32 GetTypeHash(const FTraceHandle& Handle)
52 {
53 return GetTypeHash(Handle._Handle);
54 }
55
56 bool operator==(FTraceHandle const& Other) const
57 {
58 return Other._Handle == _Handle;
59 }
60
61 bool operator!=(FTraceHandle const& Other) const
62 {
63 return Other._Handle != _Handle;
64 }
65
66 bool IsValid() const
67 {
68 return _Handle != 0;
69 }
70
72 {
73 _Handle = 0;
74 }
75
76 bool IsTransactional() const
77 {
78 return bTransactional;
79 }
80};
81
103
133
134struct FTraceDatum;
135struct FOverlapDatum;
136
153
156{
158 Test,
160 Single,
162 Multi
163};
164
196
224
225#define ASYNC_TRACE_BUFFER_SIZE 64
226
230template <typename T>
235
236template <typename DatumType>
242
293
294
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
ECollisionChannel
Definition EngineTypes.h:1088
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
ECollisionChannel DefaultCollisionChannel
Definition WorldCollision.cpp:54
TArray< FGraphEventRef, TInlineAllocator< 4 > > FGraphEventArray
Definition WorldCollision.h:23
EAsyncTraceType
Definition WorldCollision.h:156
#define ASYNC_TRACE_BUFFER_SIZE
Definition WorldCollision.h:225
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition UnrealTemplate.h:321
Definition Array.h:670
Definition World.h:918
Definition WorldCollision.h:250
ENGINE_API ~AsyncTraceData()
ENGINE_API AsyncTraceData()
Definition WorldCollision.cpp:582
TArray< TUniquePtr< TTraceThreadData< FOverlapDatum > > > OverlapData
Definition WorldCollision.h:263
FTransactionalAsyncTraceBuffer< FTraceDatum > TransactionalTraceData
Definition WorldCollision.h:274
FTransactionalAsyncTraceBuffer< FOverlapDatum > TransactionalOverlapData
Definition WorldCollision.h:275
FGraphEventArray AsyncTraceCompletionEvent
Definition WorldCollision.h:288
bool bAsyncTasksCompleted
Definition WorldCollision.h:285
int32 NumQueuedTraceData
Definition WorldCollision.h:266
int32 NumQueuedOverlapData
Definition WorldCollision.h:268
TArray< TUniquePtr< TTraceThreadData< FTraceDatum > > > TraceData
Definition WorldCollision.h:262
bool bAsyncAllowed
Definition WorldCollision.h:283
Definition WorldCollision.h:111
ECollisionChannel TraceChannel
Definition WorldCollision.h:119
FCollisionParameters CollisionParams
Definition WorldCollision.h:116
FBaseTraceDatum()
Definition WorldCollision.h:127
TWeakObjectPtr< UWorld > PhysWorld
Definition WorldCollision.h:113
uint32 FrameNumber
Definition WorldCollision.h:122
uint32 UserData
Definition WorldCollision.h:125
Definition CollisionQueryParams.h:430
Definition WorldCollision.h:89
struct FCollisionResponseParams ResponseParam
Definition WorldCollision.h:92
struct FCollisionQueryParams CollisionQueryParam
Definition WorldCollision.h:91
struct FCollisionShape CollisionShape
Definition WorldCollision.h:96
struct FCollisionObjectQueryParams ObjectQueryParam
Definition WorldCollision.h:93
FCollisionParameters()
Definition WorldCollision.h:98
Definition CollisionQueryParams.h:43
Definition CollisionQueryParams.h:324
Definition CollisionShape.h:21
Definition HitResult.h:21
Definition WorldCollision.h:203
ENGINE_API FOverlapDatum(UWorld *World, const FCollisionShape &CollisionShape, const FCollisionQueryParams &Param, const struct FCollisionResponseParams &InResponseParam, const struct FCollisionObjectQueryParams &InObjectQueryParam, ECollisionChannel Channel, uint32 InUserData, const FVector &InPos, const FQuat &InRot, const FOverlapDelegate *InDelegate, int32 FrameCounter)
FOverlapDelegate Delegate
Definition WorldCollision.h:213
TArray< struct FOverlapResult > OutOverlaps
Definition WorldCollision.h:216
FQuat Rot
Definition WorldCollision.h:211
ENGINE_API FOverlapDatum()
Definition WorldCollision.cpp:99
FVector Pos
Definition WorldCollision.h:210
Definition OverlapResult.h:13
Definition WorldCollision.h:171
TArray< struct FHitResult > OutHits
Definition WorldCollision.h:185
ENGINE_API FTraceDatum()
Definition WorldCollision.cpp:75
FTraceDelegate Delegate
Definition WorldCollision.h:182
FVector End
Definition WorldCollision.h:179
FQuat Rot
Definition WorldCollision.h:180
FVector Start
Definition WorldCollision.h:178
EAsyncTraceType TraceType
Definition WorldCollision.h:188
Definition WorldCollision.h:29
bool IsTransactional() const
Definition WorldCollision.h:76
FTraceHandle()
Definition WorldCollision.h:43
void Invalidate()
Definition WorldCollision.h:71
struct FTraceHandle::@1252::@1255 _Data
uint64 _Handle
Definition WorldCollision.h:33
uint32 Index
Definition WorldCollision.h:37
bool bTransactional
Definition WorldCollision.h:41
uint32 FrameNumber
Definition WorldCollision.h:36
FTraceHandle(uint32 InFrameNumber, uint32 InIndex, bool bInTransactional=false)
Definition WorldCollision.h:44
friend uint32 GetTypeHash(const FTraceHandle &Handle)
Definition WorldCollision.h:51
bool operator!=(FTraceHandle const &Other) const
Definition WorldCollision.h:61
bool operator==(FTraceHandle const &Other) const
Definition WorldCollision.h:56
bool IsValid() const
Definition WorldCollision.h:66
Definition WorldCollision.h:238
int32 NumQueued
Definition WorldCollision.h:240
TArray< TUniquePtr< TTraceThreadData< DatumType > > > Data
Definition WorldCollision.h:239
Definition LightweightStats.h:416
Definition WorldCollision.h:232
T Buffer[ASYNC_TRACE_BUFFER_SIZE]
Definition WorldCollision.h:233
Definition WeakObjectPtrTemplates.h:25