UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PhysicsInterfaceWrapperShared.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "HAL/Platform.h"
7
8enum class EQueryFlags : uint16
9{
10 None = 0,
11 PreFilter = (1 << 2),
12 PostFilter = (1 << 3),
13 AnyHit = (1 << 4),
14 SkipNarrowPhase = (1 << 5)
15};
16
18{
19 return static_cast<EQueryFlags>(static_cast<uint16>(lhs) | static_cast<uint16>(rhs));
20}
21
23{
24 return static_cast<EQueryFlags>(static_cast<uint16>(lhs) & static_cast<uint16>(rhs));
25}
26
28{
30 explicit operator bool() const { return !!static_cast<uint16>(QueryFlags); }
32 {
33 return FQueryFlags(QueryFlags | Rhs);
34 }
35
37 {
38 *this = *this | Rhs;
39 return *this;
40 }
41
43 {
44 return FQueryFlags(QueryFlags & Rhs);
45 }
46
48 {
49 *this = *this & Rhs;
50 return *this;
51 }
52
53 bool operator==(const FQueryFlags& Other) const { return QueryFlags == Other.QueryFlags; }
54
56};
57
58inline FArchive& operator<<(FArchive& Ar, FQueryFlags& QueryFlags)
59{
60 return Ar << QueryFlags.QueryFlags;
61}
62
64enum class EHitFlags : uint16
65{
66 None = 0,
67 Position = (1 << 0),
68 Normal = (1 << 1),
69 Distance = (1 << 2),
70 UV = (1 << 3),
71 MTD = (1 << 9),
72 FaceIndex = (1 << 10)
73};
74
76{
77 return static_cast<EHitFlags>(static_cast<uint16>(lhs) | static_cast<uint16>(rhs));
78}
79
81{
82 return static_cast<EHitFlags>(static_cast<uint16>(lhs) & static_cast<uint16>(rhs));
83}
84
86{
88 explicit operator bool() const { return !!static_cast<uint16>(HitFlags); }
90 {
91 return FHitFlags(HitFlags | Rhs);
92 }
93
95 {
96 *this = *this | Rhs;
97 return *this;
98 }
99
101 {
102 return FHitFlags(HitFlags & Rhs);
103 }
104
106 {
107 *this = *this & Rhs;
108 return *this;
109 }
110
111 bool operator==(const FHitFlags& Other) const { return HitFlags == Other.HitFlags; }
112
114};
115
116inline FArchive& operator<<(FArchive& Ar, FHitFlags& HitFlags)
117{
118 return Ar << HitFlags.HitFlags;
119}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EHitFlags
Definition PhysicsInterfaceWrapperShared.h:65
EQueryFlags
Definition PhysicsInterfaceWrapperShared.h:9
EQueryFlags operator&(EQueryFlags lhs, EQueryFlags rhs)
Definition PhysicsInterfaceWrapperShared.h:22
EQueryFlags operator|(EQueryFlags lhs, EQueryFlags rhs)
Definition PhysicsInterfaceWrapperShared.h:17
FArchive & operator<<(FArchive &Ar, FQueryFlags &QueryFlags)
Definition PhysicsInterfaceWrapperShared.h:58
const bool
Definition NetworkReplayStreaming.h:178
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition Archive.h:1208
Definition PhysicsInterfaceWrapperShared.h:86
EHitFlags HitFlags
Definition PhysicsInterfaceWrapperShared.h:113
bool operator==(const FHitFlags &Other) const
Definition PhysicsInterfaceWrapperShared.h:111
FHitFlags & operator|=(EHitFlags Rhs)
Definition PhysicsInterfaceWrapperShared.h:94
FHitFlags & operator&=(EHitFlags Rhs)
Definition PhysicsInterfaceWrapperShared.h:105
FHitFlags(EHitFlags InFlags=EHitFlags::None)
Definition PhysicsInterfaceWrapperShared.h:87
FHitFlags operator&(EHitFlags Rhs) const
Definition PhysicsInterfaceWrapperShared.h:100
FHitFlags operator|(EHitFlags Rhs) const
Definition PhysicsInterfaceWrapperShared.h:89
Definition PhysicsInterfaceWrapperShared.h:28
bool operator==(const FQueryFlags &Other) const
Definition PhysicsInterfaceWrapperShared.h:53
FQueryFlags operator&(EQueryFlags Rhs) const
Definition PhysicsInterfaceWrapperShared.h:42
FQueryFlags & operator|=(EQueryFlags Rhs)
Definition PhysicsInterfaceWrapperShared.h:36
FQueryFlags operator|(EQueryFlags Rhs) const
Definition PhysicsInterfaceWrapperShared.h:31
FQueryFlags & operator&=(EQueryFlags Rhs)
Definition PhysicsInterfaceWrapperShared.h:47
FQueryFlags(EQueryFlags InFlags)
Definition PhysicsInterfaceWrapperShared.h:29
EQueryFlags QueryFlags
Definition PhysicsInterfaceWrapperShared.h:55