UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AbstractNavData.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
8#endif
9#include "Containers/Array.h"
11#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
12#include "CoreMinimal.h"
13#endif
14#include "Math/Box.h"
15#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
16#include "Math/UnrealMathSSE.h"
17#endif
18#include "Math/Vector.h"
19#include "NavigationData.h"
22
23#include "AbstractNavData.generated.h"
24
25class UClass;
26class UObject;
28
37
39{
40public:
41 virtual void Reset() override {}
42 virtual void SetAreaCost(uint8 AreaType, float Cost) override {}
43 virtual void SetFixedAreaEnteringCost(uint8 AreaType, float Cost) override {}
44 virtual void SetExcludedArea(uint8 AreaType) override {}
45 virtual void SetAllAreaCosts(const float* CostArray, const int32 Count) override {}
46 virtual void GetAllAreaCosts(float* CostArray, float* FixedCostArray, const int32 Count) const override {}
47 virtual void SetBacktrackingEnabled(const bool bBacktracking) override {}
48 virtual bool IsBacktrackingEnabled() const override { return false; }
49 virtual float GetHeuristicScale() const override { return 1.f; }
50 virtual bool IsEqual(const INavigationQueryFilterInterface* Other) const override { return true; }
51 virtual void SetIncludeFlags(uint16 Flags) override {}
52 virtual uint16 GetIncludeFlags() const override { return 0; }
53 virtual void SetExcludeFlags(uint16 Flags) override {}
54 virtual uint16 GetExcludeFlags() const override { return 0; }
55 virtual FVector GetAdjustedEndLocation(const FVector& EndLocation) const override { return EndLocation; }
57};
58
59UCLASS(MinimalAPI)
61{
63
64public:
66
67 NAVIGATIONSYSTEM_API virtual void PostLoad() override;
68
69#if WITH_EDITOR
70 // Begin AActor overrides
71 virtual bool SupportsExternalPackaging() const override { return false; }
72 // End AActor overrides
73#endif
74
75 // Begin ANavigationData overrides
76 virtual void BatchRaycast(TArray<FNavigationRaycastWork>& Workload, FSharedConstNavQueryFilter QueryFilter, const UObject* Querier = NULL) const override {};
77 virtual bool FindMoveAlongSurface(const FNavLocation& StartLocation, const FVector& TargetPosition, FNavLocation& OutLocation, FSharedConstNavQueryFilter Filter = NULL, const UObject* Querier = NULL) const override { return false; };
79 virtual bool GetPathSegmentBoundaryEdges(const FNavigationPath& Path, const FNavPathPoint& StartPoint, const FNavPathPoint& EndPoint, const TConstArrayView<FVector> SearchArea, TArray<FVector>& OutEdges, const float MaxAreaEnterCost, FSharedConstNavQueryFilter Filter = NULL, const UObject* Querier = NULL) const override { return false; }
80 virtual FBox GetBounds() const override { return FBox(ForceInit); };
82 virtual bool GetRandomReachablePointInRadius(const FVector& Origin, float Radius, FNavLocation& OutResult, FSharedConstNavQueryFilter Filter = NULL, const UObject* Querier = NULL) const override { return false; }
83 virtual bool GetRandomPointInNavigableRadius(const FVector& Origin, float Radius, FNavLocation& OutResult, FSharedConstNavQueryFilter Filter = NULL, const UObject* Querier = NULL) const override { return false; }
84 virtual bool ProjectPoint(const FVector& Point, FNavLocation& OutLocation, const FVector& Extent, FSharedConstNavQueryFilter Filter = NULL, const UObject* Querier = NULL) const override { return false; }
85 virtual void BatchProjectPoints(TArray<FNavigationProjectionWork>& Workload, const FVector& Extent, FSharedConstNavQueryFilter Filter = NULL, const UObject* Querier = NULL) const override {};
90 virtual bool DoesNodeContainLocation(NavNodeRef NodeRef, const FVector& WorldSpaceLocation) const override { return true; }
91 virtual void OnNavAreaAdded(const UClass* NavAreaClass, int32 AgentIndex) override {}
92 virtual void OnNavAreaRemoved(const UClass* NavAreaClass) override {};
93 virtual bool IsNodeRefValid(NavNodeRef NodeRef) const override { return true; };
94 // End ANavigationData overrides
95
98 static NAVIGATIONSYSTEM_API bool RaycastAbstract(const ANavigationData* NavDataInstance, const FVector& RayStart, const FVector& RayEnd, FVector& HitLocation, FSharedConstNavQueryFilter QueryFilter, const UObject* Querier);
99 static NAVIGATIONSYSTEM_API bool RaycastAbstract(const ANavigationData* NavDataInstance, const FVector& RayStart, const FVector& RayEnd, FVector& HitLocation, FNavigationRaycastAdditionalResults* AdditionalResults, FSharedConstNavQueryFilter QueryFilter, const UObject* Querier);
100};
#define NULL
Definition oodle2base.h:134
@ ForceInit
Definition CoreMiscDefines.h:155
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
UE::Math::TBox< double > FBox
Definition MathFwd.h:55
uint64 NavNodeRef
Definition NavigationTypes.h:34
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition AbstractNavData.h:61
virtual bool ProjectPoint(const FVector &Point, FNavLocation &OutLocation, const FVector &Extent, FSharedConstNavQueryFilter Filter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:84
virtual void OnNavAreaRemoved(const UClass *NavAreaClass) override
Definition AbstractNavData.h:92
virtual bool GetRandomPointInNavigableRadius(const FVector &Origin, float Radius, FNavLocation &OutResult, FSharedConstNavQueryFilter Filter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:83
virtual void OnNavAreaAdded(const UClass *NavAreaClass, int32 AgentIndex) override
Definition AbstractNavData.h:91
virtual ENavigationQueryResult::Type CalcPathCost(const FVector &PathStart, const FVector &PathEnd, FVector::FReal &OutPathCost, FSharedConstNavQueryFilter QueryFilter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:87
virtual ENavigationQueryResult::Type CalcPathLengthAndCost(const FVector &PathStart, const FVector &PathEnd, FVector::FReal &OutPathLength, FVector::FReal &OutPathCost, FSharedConstNavQueryFilter QueryFilter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:89
virtual bool GetRandomReachablePointInRadius(const FVector &Origin, float Radius, FNavLocation &OutResult, FSharedConstNavQueryFilter Filter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:82
virtual bool FindOverlappingEdges(const FNavLocation &StartLocation, TConstArrayView< FVector > ConvexPolygon, TArray< FVector > &OutEdges, FSharedConstNavQueryFilter Filter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:78
virtual bool IsNodeRefValid(NavNodeRef NodeRef) const override
Definition AbstractNavData.h:93
virtual FBox GetBounds() const override
Definition AbstractNavData.h:80
virtual bool DoesNodeContainLocation(NavNodeRef NodeRef, const FVector &WorldSpaceLocation) const override
Definition AbstractNavData.h:90
virtual bool GetPathSegmentBoundaryEdges(const FNavigationPath &Path, const FNavPathPoint &StartPoint, const FNavPathPoint &EndPoint, const TConstArrayView< FVector > SearchArea, TArray< FVector > &OutEdges, const float MaxAreaEnterCost, FSharedConstNavQueryFilter Filter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:79
virtual void BatchProjectPoints(TArray< FNavigationProjectionWork > &Workload, const FVector &Extent, FSharedConstNavQueryFilter Filter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:85
virtual bool FindMoveAlongSurface(const FNavLocation &StartLocation, const FVector &TargetPosition, FNavLocation &OutLocation, FSharedConstNavQueryFilter Filter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:77
virtual void BatchProjectPoints(TArray< FNavigationProjectionWork > &Workload, FSharedConstNavQueryFilter Filter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:86
virtual ENavigationQueryResult::Type CalcPathLength(const FVector &PathStart, const FVector &PathEnd, FVector::FReal &OutPathLength, FSharedConstNavQueryFilter QueryFilter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:88
virtual FNavLocation GetRandomPoint(FSharedConstNavQueryFilter Filter=NULL, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:81
virtual void BatchRaycast(TArray< FNavigationRaycastWork > &Workload, FSharedConstNavQueryFilter QueryFilter, const UObject *Querier=NULL) const override
Definition AbstractNavData.h:76
Definition NavigationData.h:547
Definition AbstractNavData.h:39
virtual void SetExcludeFlags(uint16 Flags) override
Definition AbstractNavData.h:53
virtual void GetAllAreaCosts(float *CostArray, float *FixedCostArray, const int32 Count) const override
Definition AbstractNavData.h:46
virtual void SetFixedAreaEnteringCost(uint8 AreaType, float Cost) override
Definition AbstractNavData.h:43
virtual uint16 GetIncludeFlags() const override
Definition AbstractNavData.h:52
virtual void SetExcludedArea(uint8 AreaType) override
Definition AbstractNavData.h:44
virtual void SetAllAreaCosts(const float *CostArray, const int32 Count) override
Definition AbstractNavData.h:45
virtual void SetIncludeFlags(uint16 Flags) override
Definition AbstractNavData.h:51
virtual NAVIGATIONSYSTEM_API INavigationQueryFilterInterface * CreateCopy() const override
Definition AbstractNavData.cpp:14
virtual FVector GetAdjustedEndLocation(const FVector &EndLocation) const override
Definition AbstractNavData.h:55
virtual void Reset() override
Definition AbstractNavData.h:41
virtual bool IsBacktrackingEnabled() const override
Definition AbstractNavData.h:48
virtual float GetHeuristicScale() const override
Definition AbstractNavData.h:49
virtual bool IsEqual(const INavigationQueryFilterInterface *Other) const override
Definition AbstractNavData.h:50
virtual void SetBacktrackingEnabled(const bool bBacktracking) override
Definition AbstractNavData.h:47
virtual void SetAreaCost(uint8 AreaType, float Cost) override
Definition AbstractNavData.h:42
virtual uint16 GetExcludeFlags() const override
Definition AbstractNavData.h:54
Definition UObjectGlobals.h:1292
static COREUOBJECT_API FObjectInitializer & Get()
Definition UObjectGlobals.cpp:5001
Definition NavQueryFilter.h:10
Definition Array.h:670
Definition Class.h:3793
Definition Object.h:95
Type
Definition NavigationTypes.h:629
@ Invalid
Definition NavigationTypes.h:630
Definition AbstractNavData.h:30
static NAVIGATIONSYSTEM_API const FNavPathType Type
Definition AbstractNavData.h:35
NAVIGATIONSYSTEM_API FAbstractNavigationPath()
Definition AbstractNavData.cpp:9
FNavigationPath Super
Definition AbstractNavData.h:31
Definition NavigationTypes.h:453
Definition NavigationTypes.h:252
Definition NavigationTypes.h:276
Definition NavigationTypes.h:316
Definition NavigationData.h:87
Definition NavigationData.h:79
Definition NavigationSystemTypes.h:62
Definition NavigationData.h:64
double FReal
Definition Vector.h:55