UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NavTestRenderingComponent.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "AI/Navigation/NavigationTypes.h" // NavNodeRef
7
8#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
10#include "DynamicMeshBuilder.h"
12#endif // UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
13
14#include "NavTestRenderingComponent.generated.h"
15
16#if UE_ENABLE_DEBUG_DRAWING
17
22class UCanvas;
24struct FNodeDebugData;
25
27{
29
30public:
31 virtual SIZE_T GetTypeHash() const override;
32
33 struct FNodeDebugData
34 {
37 FString Desc;
40 uint32 bBestPath : 1;
41 uint32 bModified : 1;
43
44 inline bool operator==(const FNodeDebugData& Other) const
45 {
46 return PolyRef == Other.PolyRef;
47 }
48 inline friend uint32 GetTypeHash(const FNodeDebugData& Other)
49 {
50 return ::GetTypeHash(Other.PolyRef);
51 }
52 };
53
55
56 virtual void GetDynamicMeshElements(const TArray<const FSceneView*>& Views, const FSceneViewFamily& ViewFamily, uint32 VisibilityMap, FMeshElementCollector& Collector) const override;
57
58 void GatherPathPoints();
59
60 void GatherPathStep();
61
62 inline static bool LocationInView(const FVector& Location, const FSceneView* View)
63 {
64 return View->ViewFrustum.IntersectBox(Location, FVector::ZeroVector);
65 }
66
67 virtual FPrimitiveViewRelevance GetViewRelevance(const FSceneView* View) const override;
68
69 virtual uint32 GetMemoryFootprint() const override { return sizeof(*this) + GetAllocatedSizeInternal(); }
70
71private:
72 uint32 GetAllocatedSizeInternal() const;
73
74 FVector3f NavMeshDrawOffset;
75
78 uint32 bShowDiff : 1;
79
81 TArray<FVector> PathPoints;
83
90
92};
93
95{
96 typedef FDebugDrawDelegateHelper Super;
97
98public:
100 {
101 }
102
104
105protected:
106 virtual void DrawDebugLabels(UCanvas* Canvas, APlayerController*) override;
107
108private:
111 TArray<FVector> PathPoints;
115 uint32 bShowDiff : 1;
116};
117
118#endif // UE_ENABLE_DEBUG_DRAWING
119
122{
124
125protected:
126
127 virtual FBoxSphereBounds CalcBounds(const FTransform &LocalToWorld) const override;
128
129#if UE_ENABLE_DEBUG_DRAWING
130 virtual FDebugRenderSceneProxy* CreateDebugSceneProxy() override;
131 virtual FDebugDrawDelegateHelper& GetDebugDrawDelegateHelper() override { return NavTestDebugDrawDelegateHelper; }
132private:
134#endif // UE_ENABLE_DEBUG_DRAWING
135};
136
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint64 NavNodeRef
Definition NavigationTypes.h:34
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition PlayerController.h:261
Definition DebugRenderSceneProxy.h:41
virtual ENGINE_API void GetDynamicMeshElements(const TArray< const FSceneView * > &Views, const FSceneViewFamily &ViewFamily, uint32 VisibilityMap, FMeshElementCollector &Collector) const override
Definition DebugRenderSceneProxy.cpp:207
ENGINE_API SIZE_T GetTypeHash() const override
Definition DebugRenderSceneProxy.cpp:201
virtual uint32 GetMemoryFootprint(void) const override
Definition DebugRenderSceneProxy.h:75
Definition MeshElementCollector.h:26
Definition PrimitiveSceneProxy.h:296
virtual ENGINE_API FPrimitiveViewRelevance GetViewRelevance(const FSceneView *View) const
Definition PrimitiveSceneProxy.cpp:700
Definition SceneView.h:2212
Definition SceneView.h:1425
FConvexVolume ViewFrustum
Definition SceneView.h:1585
Definition SetUtilities.h:95
Definition Array.h:670
Definition Canvas.h:159
Definition DebugDrawComponent.h:50
Definition NavTestRenderingComponent.h:122
uint32 GetTypeHash(const FKey &Key)
Definition BlackboardKey.h:35
bool operator==(const FCachedAssetKey &A, const FCachedAssetKey &B)
Definition AssetDataMap.h:501
@ false
Definition radaudio_common.h:23
ENGINE_API bool IntersectBox(const FVector &Origin, const FVector &Extent) const
Definition ConvexVolume.cpp:217
Definition DebugRenderSceneProxy.h:434
virtual ENGINE_API void DrawDebugLabels(UCanvas *Canvas, APlayerController *PlayerController)
Definition DebugRenderSceneProxy.cpp:174
Definition AnimNodeBase.h:642
Definition PrimitiveViewRelevance.h:14
Definition BoxSphereBounds.h:25
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79