Navigation
API > API/Runtime > API/Runtime/NavigationSystem
| Name | FNavigationPath |
| Type | struct |
| Header File | /Engine/Source/Runtime/NavigationSystem/Public/NavigationData.h |
| Include Path | #include "NavigationData.h" |
Syntax
struct FNavigationPath : public TSharedFromThis< FNavigationPath, ESPMode::ThreadSafe >
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FNavigationPath
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| NavigationData.h | |||
FNavigationPath
(
const TArray< FVector >& Points, |
NavigationData.h | ||
PRAGMA_DISABLE_DEPRECATION_WARNINGS FNavigationPath
(
const FNavigationPath& |
NavigationData.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FNavigationPath() |
NavigationData.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FPathObserverDelegate | TMulticastDelegate_TwoParams< void, FNavigationPath *, ENavPathEvent::Type > | DECLARE_DELEGATE_OneParam(FPathObserverDelegate, FNavigationPath*);. | NavigationData.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Type | const FNavPathType | Type of path | NavigationData.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ShortcutNodeRefs | TArray< NavNodeRef > | Additional node refs used during path following shortcuts | NavigationData.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| GoalActor | TWeakObjectPtr< const AActor > | If set path will observe GoalActor's location and update itself if goal moves more then | NavigationData.h | |
| GoalActorAsNavAgent | const INavAgentInterface * | Cached result of GoalActor casting to INavAgentInterface | NavigationData.h | |
| GoalActorLastLocation | FVector | Last location of goal actor that was used for repaths to prevent spamming when path is partial | NavigationData.h | |
| GoalActorLocationTetherDistanceSq | float | If GoalActor is set this is the distance we'll try to keep GoalActor from end of path. | NavigationData.h | |
| SourceActor | TWeakObjectPtr< const AActor > | If set will be queried for location in case of path's recalculation | NavigationData.h | |
| SourceActorAsNavAgent | const INavAgentInterface * | Cached result of PathSource casting to INavAgentInterface | NavigationData.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FDelegateHandle AddObserver
(
FPathObserverDelegate::FDelegate NewObserver |
NavigationData.h | ||
PathClass * CastPath () |
NavigationData.h | ||
const PathClass * CastPath () |
Type safe casts | NavigationData.h | |
virtual bool ContainsAnyCustomLink() |
Check if path contains any custom nav link | NavigationData.h | |
virtual bool ContainsCustomLink
(
FNavLinkId UniqueLinkId |
NavigationData.h | ||
virtual bool ContainsCustomLink
(
uint32 UniqueLinkId |
Check if path contains specific custom nav link | NavigationData.h | |
virtual bool ContainsNode
(
NavNodeRef NodeRef |
Check if path contains given node | NavigationData.h | |
virtual void DebugDraw
(
const ANavigationData* NavData, |
NavigationData.h | ||
virtual void DescribeSelfToVisLog
(
FVisualLogEntry* Snapshot |
NavigationData.h | ||
bool DidSearchReachedLimit() |
NavigationData.h | ||
void DisableGoalActorObservation() |
Turns goal actor location's observation | NavigationData.h | |
virtual bool DoesIntersectBox
(
const FBox& Box, |
Checks if given path, starting from StartingIndex, intersects with given AABB box. | NavigationData.h | |
virtual bool DoesIntersectBox
(
const FBox& Box, |
Checks if given path, starting from StartingIndex, intersects with given AABB box | NavigationData.h | |
void DoneUpdating
(
ENavPathUpdateType::Type UpdateType |
NavigationData.h | ||
void EnableRecalculationOnInvalidation
(
bool bShouldAutoUpdate |
If enabled path will request recalculation if it gets invalidated due to a change to underlying navigation | NavigationData.h | |
AActor * GetBaseActor() |
NavigationData.h | ||
FVector::FReal GetCost() |
NavigationData.h | ||
virtual FVector::FReal GetCostFromIndex
(
int32 PathPointIndex |
Get cost of path, starting from given point | NavigationData.h | |
virtual FVector::FReal GetCostFromNode
(
NavNodeRef PathNode |
Get cost of path, starting from given node | NavigationData.h | |
virtual FString GetDescription() |
NavigationData.h | ||
FVector GetDestinationLocation() |
NavigationData.h | ||
FVector GetEndLocation() |
NavigationData.h | ||
FSharedConstNavQueryFilter GetFilter() |
NavigationData.h | ||
const AActor * GetGoalActor() |
NavigationData.h | ||
const INavAgentInterface * GetGoalActorAsNavAgent() |
NavigationData.h | ||
float GetGoalActorTetherDistance() |
NavigationData.h | ||
FVector GetGoalLocation() |
If GoalActor is set it retrieved its navigation location, if not retrieved last path point location | NavigationData.h | |
bool GetIgnoreInvalidation() |
NavigationData.h | ||
FVector GetLastRepathGoalLocation() |
NavigationData.h | ||
double GetLastUpdateTime() |
NavigationData.h | ||
FVector::FReal GetLength() |
NavigationData.h | ||
virtual FVector::FReal GetLengthFromPosition
(
FVector SegmentStart, |
Calculates total length of segments from NextPathPoint to the end of path, plus distance from CurrentPosition to NextPathPoint | NavigationData.h | |
ANavigationData * GetNavigationDataUsed() |
NavigationData.h | ||
FPathObserverDelegate & GetObserver() |
NavigationData.h | ||
FVector GetPathFindingStartLocation() |
Retrieved location to start path finding from (in case of path recalculation) | NavigationData.h | |
FBasedPosition GetPathPointLocation
(
uint32 Index |
Get based position of path point | NavigationData.h | |
TArray< FNavPathPoint > & GetPathPoints () |
NavigationData.h | ||
const TArray< FNavPathPoint > & GetPathPoints () |
NavigationData.h | ||
const UObject * GetQuerier() |
NavigationData.h | ||
FPathFindingQueryData GetQueryData() |
NavigationData.h | ||
virtual FVector GetSegmentDirection
(
uint32 SegmentEndIndex |
Retrieves normalized direction vector to given path segment for '0'-th segment returns same as for 1st segment | NavigationData.h | |
const AActor * GetSourceActor() |
NavigationData.h | ||
const INavAgentInterface * GetSourceActorAsNavAgent() |
NavigationData.h | ||
FVector GetStartLocation() |
NavigationData.h | ||
double GetTimeStamp() |
NavigationData.h | ||
void Invalidate() |
NavigationData.h | ||
bool IsErrorEndLocationNonNavigable () |
True when the path request failed because the end location couldn't be projected on the NavData. | NavigationData.h | |
bool IsErrorStartLocationNonNavigable () |
True when the path request failed because the start location couldn't be projected on the NavData. | NavigationData.h | |
bool IsPartial() |
NavigationData.h | ||
bool IsReady() |
NavigationData.h | ||
bool IsUpToDate() |
NavigationData.h | ||
bool IsValid() |
NavigationData.h | ||
bool IsWaitingForRepath() |
NavigationData.h | ||
void MarkReady() |
NavigationData.h | ||
void RemoveObserver
(
FDelegateHandle HandleOfObserverToRemove |
NavigationData.h | ||
void RemoveOverlappingPoints
(
const FVector& Tolerance |
Remove points that are at the same location. | NavigationData.h | |
void RePathFailed() |
NavigationData.h | ||
virtual void ResetForRepath () |
Resets all variables describing generated path before attempting new pathfinding call. | NavigationData.h | |
void SetErrorEndLocationNonNavigable
(
const bool bErrorNonNavigable |
NavigationData.h | ||
void SetErrorStartLocationNonNavigable
(
const bool bErrorNonNavigable |
NavigationData.h | ||
void SetFilter
(
FSharedConstNavQueryFilter InFilter |
NavigationData.h | ||
void SetGoalActorObservation
(
const AActor& ActorToObserve, |
Enables path observing specified AActor's location and update itself if actor changes location | NavigationData.h | |
void SetGoalActorTetherDistance
(
const float NewTetherDistace |
Modifies distance to the GoalActor at which we'll update the path | NavigationData.h | |
void SetIgnoreInvalidation
(
bool bShouldIgnore |
If ignoring, path will stay bUpToDate after being invalidated due to a change to underlying navigation (observer and auto repath will NOT be triggered!) | NavigationData.h | |
void SetIsPartial
(
const bool bPartial |
FORCEINLINE void SetObserver(const FPathObserverDelegate& Observer) { ObserverDelegate = Observer; }. | NavigationData.h | |
void SetManualRepathWaiting
(
const bool bInWaitingForRepath |
NavigationData.h | ||
void SetNavigationDataUsed
(
const ANavigationData*const NewData |
NavigationData.h | ||
void SetQuerier
(
const UObject* InQuerier |
NavigationData.h | ||
void SetQueryData
(
const FPathFindingQueryData& QueryData |
NavigationData.h | ||
void SetSearchReachedLimit
(
const bool bLimited |
NavigationData.h | ||
void SetSourceActor
(
const AActor& InSourceActor |
Set's up the path to use SourceActor's location in case of recalculation | NavigationData.h | |
void SetTimeStamp
(
double TimeStamp |
NavigationData.h | ||
bool ShouldUpdateEndPointOnRepath() |
NavigationData.h | ||
bool ShouldUpdateStartPointOnRepath() |
NavigationData.h | ||
EPathObservationResult::Type TickPathObservation() |
NavigationData.h | ||
void UpdateLastRepathGoalLocation() |
NavigationData.h | ||
bool WillRecalculateOnInvalidation() |
NavigationData.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnPathUpdated
(
ENavPathUpdateType::Type UpdateType |
Optional notify called when path finishes update, before broadcasting to observes - requires bUseOnPathUpdatedNotify flag set | NavigationData.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool GetPathPoint
(
const FNavigationPath* Path, |
NavigationData.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FNavigationPath & operator=
(
const FNavigationPath& Other |
NavigationData.h |