Navigation
API > API/Runtime > API/Runtime/NavigationSystem
| Name | FNavMeshPath |
| Type | struct |
| Header File | /Engine/Source/Runtime/NavigationSystem/Public/NavMesh/NavMeshPath.h |
| Include Path | #include "NavMesh/NavMeshPath.h" |
Syntax
struct FNavMeshPath : public FNavigationPath
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FNavigationPath → FNavMeshPath
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FNavMeshPath
(
FNavMeshPath&& Other |
NavMesh/NavMeshPath.h | ||
FNavMeshPath
(
const FNavMeshPath& |
NavMesh/NavMeshPath.h | ||
FNavMeshPath () |
NavMesh/NavMeshPath.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FNavMeshPath() |
NavMesh/NavMeshPath.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Super | FNavigationPath | NavMesh/NavMeshPath.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Type | const FNavPathType | NavMesh/NavMeshPath.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bDynamic | uint32 | Is this path generated on dynamic navmesh (i.e. one attached to moving surface) | NavMesh/NavMeshPath.h | |
| CustomLinkIds | TArray< uint32 > | Set of unique link Ids | NavMesh/NavMeshPath.h | |
| CustomNavLinkIds | TArray< FNavLinkId > | NavMesh/NavMeshPath.h | ||
| PathCorridor | TArray< NavNodeRef > | Sequence of navigation mesh poly ids representing an obstacle-free navigation corridor | NavMesh/NavMeshPath.h | |
| PathCorridorCost | TArray< FVector::FReal > | For every poly in PathCorridor stores traversal cost from previous navpoly | NavMesh/NavMeshPath.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bCorridorEdgesGenerated | uint32 | Transient variable indicating whether PathCorridorEdges contains up to date information | NavMesh/NavMeshPath.h | |
| PathCorridorEdges | TArray< FNavigationPortalEdge > | Sequence of FVector pairs where each pair represents navmesh portal edge between two polygons navigation corridor. | NavMesh/NavMeshPath.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ApplyFlags
(
int32 NavDataFlags |
NavMesh/NavMeshPath.h | ||
bool ContainsWithSameEnd
(
const FNavMeshPath* Other |
NavMesh/NavMeshPath.h | ||
bool GetNodeFlags
(
int32 NodeIdx, |
Get flags of path point or corridor poly (depends on bStringPulled flag) | NavMesh/NavMeshPath.h | |
int32 GetNodeRefIndex
(
const NavNodeRef NodeRef |
NavMesh/NavMeshPath.h | ||
const TArray< FNavigationPortalEdge > & GetPathCorridorEdges() |
NavMesh/NavMeshPath.h | ||
FVector::FReal GetTotalPathLength() |
NavMesh/NavMeshPath.h | ||
void Invert() |
NavMesh/NavMeshPath.h | ||
bool IsPathSegmentANavLink
(
const int32 PathSegmentStartIndex |
NavMesh/NavMeshPath.h | ||
bool IsStringPulled() |
NavMesh/NavMeshPath.h | ||
void OffsetFromCorners
(
FVector::FReal Distance |
NavMesh/NavMeshPath.h | ||
void OnPathCorridorUpdated() |
NavMesh/NavMeshPath.h | ||
void PerformStringPulling
(
const FVector& StartLoc, |
Find string pulled path from PathCorridor | NavMesh/NavMeshPath.h | |
void SetPathCorridorEdges
(
const TArray< FNavigationPortalEdge >& InPathCorridorEdges |
NavMesh/NavMeshPath.h | ||
void SetWantsPathCorridor
(
const bool bNewWantsPathCorridor |
NavMesh/NavMeshPath.h | ||
void SetWantsStringPulling
(
const bool bNewWantsStringPulling |
NavMesh/NavMeshPath.h | ||
bool WantsPathCorridor() |
NavMesh/NavMeshPath.h | ||
bool WantsStringPulling() |
NavMesh/NavMeshPath.h |
Overridden from FNavigationPath
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool ContainsAnyCustomLink() |
Check if path contains any custom nav link | NavMesh/NavMeshPath.h | |
virtual bool ContainsCustomLink
(
FNavLinkId UniqueLinkId |
NavMesh/NavMeshPath.h | ||
virtual bool ContainsNode
(
NavNodeRef NodeRef |
Check if path (all polys in corridor) contains given node | NavMesh/NavMeshPath.h | |
virtual void DebugDraw
(
const ANavigationData* NavData, |
NavMesh/NavMeshPath.h | ||
virtual void DescribeSelfToVisLog
(
FVisualLogEntry* Snapshot |
NavMesh/NavMeshPath.h | ||
virtual bool DoesIntersectBox
(
const FBox& Box, |
Checks if given path, starting from StartingIndex, intersects with given AABB box. | NavMesh/NavMeshPath.h | |
virtual bool DoesIntersectBox
(
const FBox& Box, |
Checks if given path, starting from StartingIndex, intersects with given AABB box | NavMesh/NavMeshPath.h | |
virtual FVector::FReal GetCostFromIndex
(
int32 PathPointIndex |
Get cost of path, starting from given point | NavMesh/NavMeshPath.h | |
virtual FVector::FReal GetCostFromNode
(
NavNodeRef PathNode |
Get cost of path, starting from next poly in corridor | NavMesh/NavMeshPath.h | |
virtual FString GetDescription() |
NavMesh/NavMeshPath.h | ||
virtual FVector GetSegmentDirection
(
uint32 SegmentEndIndex |
Retrieves normalized direction vector to given path segment. | NavMesh/NavMeshPath.h | |
virtual void ResetForRepath () |
Resets all variables describing generated path before attempting new pathfinding call. | NavMesh/NavMeshPath.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const TArray< FNavigationPortalEdge > & GeneratePathCorridorEdges () |
It's only const to be callable in const environment. | NavMesh/NavMeshPath.h | |
FVector::FReal GetPathCorridorLength
(
const int32 StartingEdge |
Calculates estimated length of path expressed as sequence of navmesh edges. | NavMesh/NavMeshPath.h | |
FVector::FReal GetStringPulledLength
(
const int32 StartingPoint |
Calculates total length of string pulled path. | NavMesh/NavMeshPath.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FNavMeshPath & operator=
(
const FNavMeshPath& Other |
NavMesh/NavMeshPath.h | ||
FNavMeshPath & operator=
(
FNavMeshPath&& Other |
NavMesh/NavMeshPath.h |