UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MetaNavMeshPath.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "EngineDefines.h"
9
10class AController;
11class UCanvas;
12struct FVisualLogEntry;
13
15{
18};
19
21{
23
25 : FVector()
26 , UserFlags(0)
27 {}
28
29 FMetaPathWayPoint(const FVector& Location, const uint32 InUserFlags = 0)
30 : FVector(Location)
32 {}
33};
34
47{
50
56
58 AIMODULE_API virtual void Initialize(const FVector& AgentLocation);
59
62
65
67 AIMODULE_API virtual bool UpdatePath(const FVector& AgentLocation);
68
70 AIMODULE_API virtual void CopyFrom(const FMetaNavMeshPath& Other);
71
73 bool IsLastSection() const { return (TargetWaypointIdx == (Waypoints.Num() - 1)) && (Waypoints.Num() > 0); }
74
77
79 int32 GetNumWaypoints() const { return Waypoints.Num(); }
80
83
85 AActor* GetMetaPathGoal() const { return PathGoal.Get(); }
86
89
92
95
98
101
104
105#if ENABLE_VISUAL_LOG
106 AIMODULE_API virtual void DescribeSelfToVisLog(FVisualLogEntry* Snapshot) const override;
107#endif
108 AIMODULE_API virtual void DebugDraw(const ANavigationData* NavData, const FColor PathColor, UCanvas* Canvas, const bool bPersistent, const float LifeTime, const uint32 NextPathPointIndex = 0) const override;
109
110protected:
111
114
117
120
123
126
129
132};
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
EMetaPathUpdateReason
Definition MetaNavMeshPath.h:15
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Actor.h:257
Definition Controller.h:41
Definition NavigationData.h:547
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition Canvas.h:159
Definition Color.h:486
Definition MetaNavMeshPath.h:47
FVector::FReal ApproximateLength
Definition MetaNavMeshPath.h:116
AIMODULE_API bool MoveToNextSection(const FVector &AgentLocation)
Definition MetaNavMeshPath.cpp:159
float PathGoalTetherDistance
Definition MetaNavMeshPath.h:128
int32 GetTargetWaypointIndex() const
Definition MetaNavMeshPath.h:76
bool IsLastSection() const
Definition MetaNavMeshPath.h:73
const TArray< FMetaPathWayPoint > & GetWaypointArray() const
Definition MetaNavMeshPath.h:82
int32 GetNumWaypoints() const
Definition MetaNavMeshPath.h:79
float WaypointSwitchRadius
Definition MetaNavMeshPath.h:119
FNavMeshPath Super
Definition MetaNavMeshPath.h:48
int32 TargetWaypointIdx
Definition MetaNavMeshPath.h:122
static AIMODULE_API const FNavPathType Type
Definition MetaNavMeshPath.h:49
AActor * GetMetaPathGoal() const
Definition MetaNavMeshPath.h:85
virtual AIMODULE_API FVector::FReal GetLengthFromPosition(FVector SegmentStart, uint32 NextPathPointIndex) const override
Definition MetaNavMeshPath.cpp:216
void SetWaypointSwitchRadius(float InSwitchRadius)
Definition MetaNavMeshPath.h:97
float GetWaypointSwitchRadius() const
Definition MetaNavMeshPath.h:94
virtual AIMODULE_API bool UpdatePath(const FVector &AgentLocation)
Definition MetaNavMeshPath.cpp:170
virtual AIMODULE_API void CopyFrom(const FMetaNavMeshPath &Other)
Definition MetaNavMeshPath.cpp:203
AIMODULE_API bool ForceMoveToNextSection(const FVector &AgentLocation)
Definition MetaNavMeshPath.cpp:154
virtual AIMODULE_API void DebugDraw(const ANavigationData *NavData, const FColor PathColor, UCanvas *Canvas, const bool bPersistent, const float LifeTime, const uint32 NextPathPointIndex=0) const override
Definition MetaNavMeshPath.cpp:254
AIMODULE_API bool SetWaypoints(const TArray< FMetaPathWayPoint > &InWaypoints)
Definition MetaNavMeshPath.cpp:95
TArray< FMetaPathWayPoint > Waypoints
Definition MetaNavMeshPath.h:113
TWeakObjectPtr< AActor > PathGoal
Definition MetaNavMeshPath.h:125
AIMODULE_API FMetaNavMeshPath()
Definition MetaNavMeshPath.cpp:14
virtual AIMODULE_API FVector::FReal GetCostFromIndex(int32 PathPointIndex) const override
Definition MetaNavMeshPath.cpp:222
virtual AIMODULE_API bool ConditionalMoveToNextSection(const FVector &AgentLocation, EMetaPathUpdateReason Reason)
Definition MetaNavMeshPath.cpp:139
Definition MetaNavMeshPath.h:21
FMetaPathWayPoint(const FVector &Location, const uint32 InUserFlags=0)
Definition MetaNavMeshPath.h:29
FMetaPathWayPoint()
Definition MetaNavMeshPath.h:24
uint32 UserFlags
Definition MetaNavMeshPath.h:22
Definition NavMeshPath.h:39
Definition NavigationTypes.h:316
Definition VisualLoggerTypes.h:205
Definition WeakObjectPtrTemplates.h:25
FORCEINLINE T * Get(bool bEvenIfPendingKill) const
Definition WeakObjectPtrTemplates.h:132
double FReal
Definition Vector.h:55