UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NavigationRelevantData.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_5
8#endif // UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_5
9
11#include "NavigationDirtyArea.h"
12
14
36
37// @todo consider optional structures that can contain a delegate instead of
38// actual copy of collision data
39struct FNavigationRelevantData : public TSharedFromThis<FNavigationRelevantData, ESPMode::ThreadSafe>
40{
42
45 {
47
48 static bool IsValid(const uint8* RawData, int32 RawDataSize);
49 };
50
53
56
59
62
68
71
72#if WITH_EDITORONLY_DATA
74 UE_DEPRECATED(5.5, "Use SourceElement instead.")
75 TWeakObjectPtr<UObject> SourceObject;
76#endif // WITH_EDITORONLY_DATA
77
80
87
89
92
95
97
98 UE_DEPRECATED(5.5, "Use the constructor using FNavigationElement instead.")
100
110
113
116
117 inline bool HasGeometry() const { return VoxelData.Num() || CollisionData.Num(); }
118 inline bool HasModifiers() const { return !Modifiers.IsEmpty(); }
119 inline bool HasDynamicModifiers() const { return Modifiers.IsDynamic(); }
125
131
132 inline bool IsEmpty() const { return !HasGeometry() && !HasModifiers(); }
151
153
156 ENGINE_API void Shrink();
157 ENGINE_API bool IsCollisionDataValid() const;
158
160 {
162 {
163 Shrink();
164 }
165 else
166 {
168 }
169 }
170
171 UE_DEPRECATED(5.5, "Use SourceElement instead.")
172 ENGINE_API const UObject* GetOwner() const;
173
174 UE_DEPRECATED(5.5, "Use SourceElement instead.")
176};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
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
ENavigationDirtyFlag
Definition NavigationDirtyArea.h:13
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition UnrealType.h:3087
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT SIZE_T GetAllocatedSize(void) const
Definition Array.h:1059
void Empty(SizeType Slack=0)
Definition Array.h:2273
Definition NavigationTypes.h:731
Definition SharedPointer.h:1640
Definition SharedPointer.h:153
Definition Object.h:95
@ false
Definition radaudio_common.h:23
Definition NavigationModifier.h:279
bool GetMaskFillCollisionUnderneathForNavmesh() const
Definition NavigationModifier.h:362
bool IsEmpty() const
Definition NavigationModifier.h:295
ENavigationDataResolution GetNavMeshResolution() const
Definition NavigationModifier.h:366
ENGINE_API uint32 GetAllocatedSize() const
Definition NavigationModifier.cpp:1053
bool GetFillCollisionUnderneathForNavmesh() const
Definition NavigationModifier.h:360
bool IsDynamic() const
Definition NavigationModifier.h:304
bool HasAgentHeightAdjust() const
Definition NavigationModifier.h:356
Definition NavigationTypes.h:453
Definition NavigationTypes.h:525
Definition NavigationElement.h:94
Definition NavigationRelevantData.h:16
uint32 bIncludeMetaAreas
Definition NavigationRelevantData.h:24
FNavigationRelevantDataFilter()
Definition NavigationRelevantData.h:28
uint32 bIncludeGeometry
Definition NavigationRelevantData.h:18
uint32 bIncludeOffmeshLinks
Definition NavigationRelevantData.h:20
uint32 bIncludeAreas
Definition NavigationRelevantData.h:22
uint32 bExcludeLoadedData
Definition NavigationRelevantData.h:26
Definition NavigationRelevantData.h:45
int32 DataSize
Definition NavigationRelevantData.h:46
Definition NavigationRelevantData.h:40
TNavStatArray< uint8 > CollisionData
Definition NavigationRelevantData.h:52
bool IsEmpty() const
Definition NavigationRelevantData.h:132
FBox Bounds
Definition NavigationRelevantData.h:58
uint32 bPendingLazyGeometryGathering
Definition NavigationRelevantData.h:84
bool HasGeometry() const
Definition NavigationRelevantData.h:117
bool ShouldSkipDirtyAreaOnAddOrRemove() const
Definition NavigationRelevantData.h:130
ENGINE_API bool HasPerInstanceTransforms() const
Definition NavigationTypes.cpp:240
ENGINE_API bool IsMatchingFilter(const FNavigationRelevantDataFilter &Filter) const
Definition NavigationTypes.cpp:245
ENGINE_API TWeakObjectPtr< UObject > GetOwnerPtr() const
Definition NavigationTypes.cpp:530
TNavStatArray< uint8 > VoxelData
Definition NavigationRelevantData.h:55
ENGINE_API bool IsCollisionDataValid() const
Definition NavigationTypes.cpp:264
ENGINE_API FNavigationRelevantData & operator=(FNavigationRelevantData &&Other)
Definition NavigationTypes.cpp:181
uint32 bShouldSkipDirtyAreaOnAddOrRemove
Definition NavigationRelevantData.h:91
ENGINE_API const UObject * GetOwner() const
Definition NavigationTypes.cpp:524
uint32 bLoadedData
Definition NavigationRelevantData.h:94
SIZE_T GetAllocatedSize() const
Definition NavigationRelevantData.h:133
ENavigationDirtyFlag GetDirtyFlag() const
Definition NavigationRelevantData.h:135
TSharedRef< const FNavigationElement > SourceElement
Definition NavigationRelevantData.h:79
FNavDataPerInstanceTransformDelegate NavDataPerInstanceTransformDelegate
Definition NavigationRelevantData.h:61
bool SupportsGatheringGeometrySlices() const
Definition NavigationRelevantData.h:124
FNavigationRelevantData()=delete
uint32 bPendingLazyModifiersGathering
Definition NavigationRelevantData.h:85
DECLARE_DELEGATE_RetVal_OneParam(bool, FFilterNavDataDelegate, const struct FNavDataConfig *)
bool IsPendingChildLazyModifiersGathering() const
Definition NavigationRelevantData.h:122
ENGINE_API void Shrink()
Definition NavigationTypes.cpp:257
bool IsPendingLazyModifiersGathering() const
Definition NavigationRelevantData.h:121
void ValidateAndShrink()
Definition NavigationRelevantData.h:159
bool NeedAnyPendingLazyModifiersGathering() const
Definition NavigationRelevantData.h:123
uint32 bPendingChildLazyModifiersGathering
Definition NavigationRelevantData.h:86
uint32 bSupportsGatheringGeometrySlices
Definition NavigationRelevantData.h:88
ENGINE_API FCompositeNavModifier GetModifierForAgent(const FNavAgentProperties *NavAgent=nullptr) const
Definition NavigationTypes.cpp:235
FFilterNavDataDelegate ShouldUseGeometryDelegate
Definition NavigationRelevantData.h:67
SIZE_T GetGeometryAllocatedSize() const
Definition NavigationRelevantData.h:134
FCompositeNavModifier Modifiers
Definition NavigationRelevantData.h:70
bool HasModifiers() const
Definition NavigationRelevantData.h:118
bool HasDynamicModifiers() const
Definition NavigationRelevantData.h:119
bool IsPendingLazyGeometryGathering() const
Definition NavigationRelevantData.h:120
Definition WeakObjectPtrTemplates.h:25