UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PhysicsQueryHandler.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "UObject/Object.h"
9
10#include "PhysicsQueryHandler.generated.h"
11
12struct FOverlapResult;
13struct FHitResult;
14struct FTraceHandle;
15
16UENUM()
18{
20 Test = 0,
22 Single,
24 Multi,
25};
26
27UCLASS(hidecategories=(Object), MinimalAPI)
28// Allows custom handling of physics queries. Primarily for handling network/server redirection.
30{
32
33public:
36
41
42 ENGINE_API virtual bool Overlap(const EQueryInfo InfoType, const EThreadQueryContext ThreadContext, const UWorld* World, const FOverlapQueryData& OverlapData, const FCommonQueryData& CommonData, TArray<FOverlapResult>& OutOverlaps);
43
44 ENGINE_API virtual bool RaycastTest(const EThreadQueryContext ThreadContext, const UWorld* World, const FRayQueryData& RayData, const FCommonQueryData& CommonData, FHitResult& OutHits);
45 ENGINE_API virtual bool RaycastSingle(const EThreadQueryContext ThreadContext, const UWorld* World, const FRayQueryData& RayData, const FCommonQueryData& CommonData, FHitResult& OutHits);
46 ENGINE_API virtual bool RaycastMulti(const EThreadQueryContext ThreadContext, const UWorld* World, const FRayQueryData& RayData, const FCommonQueryData& CommonData, TArray<FHitResult>& OutHits);
47
48 ENGINE_API virtual bool SweepTest(const EThreadQueryContext ThreadContext, const UWorld* World, const FSweepQueryData& SweepData, const FCommonQueryData& CommonData, FHitResult& OutHits);
49 ENGINE_API virtual bool SweepSingle(const EThreadQueryContext ThreadContext, const UWorld* World, const FSweepQueryData& SweepData, const FCommonQueryData& CommonData, FHitResult& OutHits);
50 ENGINE_API virtual bool SweepMulti(const EThreadQueryContext ThreadContext, const UWorld* World, const FSweepQueryData& SweepData, const FCommonQueryData& CommonData, TArray<FHitResult>& OutHits);
51
52 // Async
53 ENGINE_API virtual void QueueAsyncOverlap(const FTraceHandle& TraceHandle, const EQueryInfo InfoType, const EThreadQueryContext ThreadContext, const UWorld* World, const FOverlapQueryData& OverlapData, const FCommonQueryData& CommonData);
54 ENGINE_API virtual void QueueAsyncRaycast(const FTraceHandle& TraceHandle, const EPhysicsQueryKind QueryKind, const EThreadQueryContext ThreadContext, const UWorld* World, const FRayQueryData& RayData, const FCommonQueryData& CommonData);
55 ENGINE_API virtual void QueueAsyncSweep(const FTraceHandle& TraceHandle, const EPhysicsQueryKind QueryKind, const EThreadQueryContext ThreadContext, const UWorld* World, const FSweepQueryData& SweepData, const FCommonQueryData& CommonData);
56
57 ENGINE_API virtual bool AreAsyncRequestsAdded();
58 ENGINE_API virtual void VerifyAsyncRequestsAreCompletedOrAbort();
59};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
EPhysicsQueryKind
Definition PhysicsQueryHandler.h:18
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Array.h:670
Definition Object.h:95
Definition PhysicsQueryHandler.h:30
Definition World.h:918
EThreadQueryContext
Definition SceneQueryData.h:22
EQueryInfo
Definition SceneQueryData.h:15
Definition TestUtils.cpp:8
Definition SceneQueryData.h:29
Definition SceneQueryData.h:49
Definition SceneQueryData.h:55
Definition SceneQueryData.h:61
Definition HitResult.h:21
Definition OverlapResult.h:13
Definition WorldCollision.h:29