UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
OverlapInfo.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"
6#include "Engine/HitResult.h"
7#include "OverlapInfo.generated.h"
8
9class UPrimitiveComponent;
10
12USTRUCT()
14{
16
18 {}
19
21 : bFromSweep(true), OverlapInfo(InSweepResult)
22 {
23 }
24
25 ENGINE_API explicit FOverlapInfo(UPrimitiveComponent* InComponent, int32 InBodyIndex = INDEX_NONE);
26
27 int32 GetBodyIndex() const { return OverlapInfo.Item; }
28
29 //This function completely ignores SweepResult information. It seems that places that use this function do not care, but it still seems risky
30 friend bool operator == (const FOverlapInfo& LHS, const FOverlapInfo& RHS) { return LHS.OverlapInfo.Component == RHS.OverlapInfo.Component && LHS.OverlapInfo.Item == RHS.OverlapInfo.Item; }
31
33 bool bFromSweep = false;
34
39 FHitResult OverlapInfo;
40};
41
42/*
43 * Predicate for comparing FOverlapInfos when exact weak object pointer index/serial numbers should match, assuming one is not null and not invalid.
44 * Compare to operator== for WeakObjectPtr which does both HasSameIndexAndSerialNumber *and* IsValid() checks on both pointers.
45 */
47{
49 : MyBaseInfo(BaseInfo)
50 {
51 }
52
53 bool operator() (const FOverlapInfo& Info)
54 {
55 return MyBaseInfo.OverlapInfo.Component.HasSameIndexAndSerialNumber(Info.OverlapInfo.Component)
56 && MyBaseInfo.GetBodyIndex() == Info.GetBodyIndex();
57 }
58
59 bool operator() (const FOverlapInfo* Info)
60 {
61 return MyBaseInfo.OverlapInfo.Component.HasSameIndexAndSerialNumber(Info->OverlapInfo.Component)
62 && MyBaseInfo.GetBodyIndex() == Info->GetBodyIndex();
63 }
64
65private:
66 const FOverlapInfo& MyBaseInfo;
67
68};
69
70// All added members of FOverlapInfo are PODs.
72
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
TArray< FOverlapInfo, TInlineAllocator< 3 > > TInlineOverlapInfoArray
Definition OverlapInfo.h:73
TArrayView< const FOverlapInfo > TOverlapArrayView
Definition OverlapInfo.h:74
Definition ArrayView.h:139
Definition Array.h:670
@ false
Definition radaudio_common.h:23
Definition OverlapInfo.h:47
FFastOverlapInfoCompare(const FOverlapInfo &BaseInfo)
Definition OverlapInfo.h:48
Definition HitResult.h:21
int32 Item
Definition HitResult.h:99
TWeakObjectPtr< UPrimitiveComponent > Component
Definition HitResult.h:131
Definition OverlapInfo.h:14
FHitResult OverlapInfo
Definition OverlapInfo.h:39
int32 GetBodyIndex() const
Definition OverlapInfo.h:27
FOverlapInfo(const FHitResult &InSweepResult)
Definition OverlapInfo.h:20
Definition IsPODType.h:12
@ Value
Definition IsPODType.h:13