UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NavigationDirtyAreasController.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_5
6#endif // UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_5
7#include "Containers/Array.h"
8#include "HAL/Platform.h"
9#include "Logging/LogMacros.h"
10#include "Math/Box.h"
11#include "Templates/Function.h"
12#include "UObject/NameTypes.h"
13#include "UObject/UnrealNames.h"
14
15class UObject;
16class ANavigationData;
20enum class ENavigationDirtyFlag : uint8;
21
23
25{
28
31
35
38
39#if !UE_BUILD_SHIPPING
41private:
42 uint8 bCanReportOversizedDirtyArea : 1;
43 uint8 bNavigationBuildLocked : 1;
44
46 float DirtyAreaWarningSizeThreshold = -1.f;
47
48 NAVIGATIONSYSTEM_API bool ShouldReportOversizedDirtyArea() const;
49#endif // !UE_BUILD_SHIPPING
50
51public:
53
55
58
59 NAVIGATIONSYSTEM_API void Tick(float DeltaSeconds, const TArray<ANavigationData*>& NavDataSet, bool bForceRebuilding = false);
60
72 UE_DEPRECATED(5.5, "Use the version taking ENavigationDirtyFlag and FNavigationElement instead.")
73 NAVIGATIONSYSTEM_API void AddArea(const FBox& NewArea, const int32 Flags, const TFunction<UObject*()>& ObjectProviderFunc = nullptr,
75
91
92 bool IsDirty() const { return GetNumDirtyAreas() > 0; }
93 int32 GetNumDirtyAreas() const { return DirtyAreas.Num(); }
94
97
100 NAVIGATIONSYSTEM_API void SetDirtyAreaWarningSizeThreshold(const float Threshold);
101
102#if !UE_BUILD_SHIPPING
104#endif // UE_BUILD_SHIPPING
105
108};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
ENavigationDirtyFlag
Definition NavigationDirtyArea.h:13
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NavigationData.h:547
Definition NameTypes.h:617
Definition UnrealType.h:3087
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:692
Definition Object.h:95
Definition NavigationDirtyArea.h:25
Definition NavigationDirtyAreasController.h:25
DECLARE_DELEGATE_RetVal_OneParam(bool, FSkipObjectSignature, const UObject &)
float DirtyAreasUpdateFreq
Definition NavigationDirtyAreasController.h:27
TArray< FNavigationDirtyArea > DirtyAreas
Definition NavigationDirtyAreasController.h:34
NAVIGATIONSYSTEM_API void SetCanReportOversizedDirtyArea(const bool bCanReport)
Definition NavigationDirtyAreasController.cpp:276
uint8 bUseWorldPartitionedDynamicMode
Definition NavigationDirtyAreasController.h:37
bool HadDirtyAreasReportedWhileAccumulationLocked() const
Definition NavigationDirtyAreasController.h:103
uint8 bDirtyAreasReportedWhileAccumulationLocked
Definition NavigationDirtyAreasController.h:40
NAVIGATIONSYSTEM_API void OnNavigationBuildLocked()
Definition NavigationDirtyAreasController.cpp:250
NAVIGATIONSYSTEM_API void SetDirtyAreaWarningSizeThreshold(const float Threshold)
Definition NavigationDirtyAreasController.cpp:264
NAVIGATIONSYSTEM_API void OnNavigationBuildUnlocked()
Definition NavigationDirtyAreasController.cpp:257
NAVIGATIONSYSTEM_API FNavigationDirtyAreasController()
Definition NavigationDirtyAreasController.cpp:15
NAVIGATIONSYSTEM_API void AddAreas(const TConstArrayView< FBox > NewAreas, const ENavigationDirtyFlag Flags, const TFunction< const TSharedPtr< const FNavigationElement >()> &ElementProviderFunc=nullptr, const FNavigationDirtyElement *DirtyElement=nullptr, const FName &DebugReason=NAME_None)
Definition NavigationDirtyAreasController.cpp:138
NAVIGATIONSYSTEM_API void SetUseWorldPartitionedDynamicMode(bool bIsWPDynamic)
Definition NavigationDirtyAreasController.cpp:271
float DirtyAreasUpdateTime
Definition NavigationDirtyAreasController.h:30
FSkipObjectSignature ShouldSkipObjectPredicate
Definition NavigationDirtyAreasController.h:107
NAVIGATIONSYSTEM_API void Reset()
Definition NavigationDirtyAreasController.cpp:291
int32 GetNumDirtyAreas() const
Definition NavigationDirtyAreasController.h:93
bool IsDirty() const
Definition NavigationDirtyAreasController.h:92
NAVIGATIONSYSTEM_API void ForceRebuildOnNextTick()
Definition NavigationDirtyAreasController.cpp:27
NAVIGATIONSYSTEM_API void AddArea(const FBox &NewArea, const ENavigationDirtyFlag Flags, const TFunction< const TSharedPtr< const FNavigationElement >()> &ElementProviderFunc=nullptr, const FNavigationDirtyElement *DirtyElement=nullptr, const FName &DebugReason=NAME_None)
Definition NavigationDirtyAreasController.cpp:132
uint8 bCanAccumulateDirtyAreas
Definition NavigationDirtyAreasController.h:36
Definition NavigationDirtyElement.h:13
Definition NavigationElement.h:94