FNavMeshPath

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

NavigationSystem

Header

/Engine/Source/Runtime/NavigationSystem/Public/NavMesh/NavMeshPath.h

Include

#include "NavMesh/NavMeshPath.h"

Syntax

struct FNavMeshPath : public FNavigationPath

Variables

Name Description

Public variable

uint32: 1

 

bDynamic

Is this path generated on dynamic navmesh (i.e. one attached to moving surface)

Protected variable

uint32: 1

 

bStringPulled

Does this path contain string pulled path? If true then NumPathVerts > 0 and OutPathVerts contains valid data.

Protected variable

uint32: 1

 

bWantsPathCorridor

If set to true path instance will contain path corridor generated as a part pathfinding call (i.e. without the need to generate it with GeneratePathCorridorEdges

Protected variable

uint32: 1

 

bWantsStringPulling

If set to true path instance will contain a string pulled version.

Public variable

TArray< uint32 ...

 

CustomLinkIds

Set of unique link Ids

Public variable

TArray< NavNode...

 

PathCorridor

Sequence of navigation mesh poly ids representing an obstacle-free navigation corridor

Public variable

TArray< FVector...

 

PathCorridorCost

For every poly in PathCorridor stores traversal cost from previous navpoly

Constructors

Name Description

Public function

FNavMeshPath()

Functions

Name Description

Public function

void

 

ApplyFlags

(
    int32 NavDataFlags
)

Public function Const

bool

 

ContainsWithSameEnd

(
    const FNavMeshPath* Other
)

Protected function Const

const TArray...

 

GeneratePathCorridorEdges()

It's only const to be callable in const environment.

Public function Const

bool

 

GetNodeFlags

(
    int32 NodeIdx,
    FNavMeshNodeFlags& Flags
)

Get flags of path point or corridor poly (depends on bStringPulled flag)

Public function Const

int32

 

GetNodeRefIndex

(
    const NavNodeRef NodeRef
)

Public function Const

const TArray...

 

GetPathCorridorEdges()

Protected function Const

float

 

GetPathCorridorLength

(
    const int32 StartingEdge
)

Calculates estimated length of path expressed as sequence of navmesh edges.

Protected function Const

float

 

GetStringPulledLength

(
    const int32 StartingPoint
)

Calculates total length of string pulled path.

Public function Const

float

 

GetTotalPathLength()

Public function

void

 

Invert()

Public function Const

bool

 

IsPathSegmentANavLink

(
    const int32 PathSegmentStartIndex
)

Public function Const

bool

 

IsStringPulled()

Public function

void

 

OffsetFromCorners

(
    float Distance
)

Public function

void

 

OnPathCorridorUpdated()

Public function

void

 

PerformStringPulling

(
    const FVector& StartLoc,
    const FVector& EndLoc
)

Find string pulled path from PathCorridor

Public function

void

 

SetPathCorridorEdges

(
    const TArray< FNavigationPortalEdge...
)

Public function

void

 

SetWantsPathCorridor

(
    const bool bNewWantsPathCorridor
)

Public function

void

 

SetWantsStringPulling

(
    const bool bNewWantsStringPulling
)

Public function Const

bool

 

WantsPathCorridor()

Public function Const

bool

 

WantsStringPulling()

Overridden from FNavigationPath

Name Description

Public function Virtual Const

bool

 

ContainsAnyCustomLink()

Check if path contains any custom nav link

Public function Virtual Const

bool

 

ContainsCustomLink

(
    uint32 UniqueLinkId
)

Check if path contains specific custom nav link

Public function Virtual Const

bool

 

ContainsNode

(
    NavNodeRef NodeRef
)

Check if path (all polys in corridor) contains given node

Public function Virtual Const

void

 

DebugDraw

(
    const ANavigationData* NavData,
    const FColor PathColor,
    UCanvas* Canvas,
    const bool bPersistent,
    const float LifeTime,
    const uint32 NextPathPointIndex
)

Public function Virtual Const

void

 

DescribeSelfToVisLog

(
    FVisualLogEntry* Snapshot
)

Public function Virtual Const

bool

 

DoesIntersectBox

(
    const FBox& Box,
    uint32 StartingIndex,
    int32* IntersectingSegmentInde...,
    FVector* AgentExtent
)

Checks if given path, starting from StartingIndex, intersects with given AABB box

Public function Virtual Const

bool

 

DoesIntersectBox

(
    const FBox& Box,
    const FVector& AgentLocation,
    uint32 StartingIndex,
    int32* IntersectingSegmentInde...,
    FVector* AgentExtent
)

Checks if given path, starting from StartingIndex, intersects with given AABB box.

Public function Virtual Const

float

 

GetCostFromIndex

(
    int32 PathPointIndex
)

Get cost of path, starting from given point

Public function Virtual Const

float

 

GetCostFromNode

(
    NavNodeRef PathNode
)

Get cost of path, starting from next poly in corridor

Public function Virtual Const

FString

 

GetDescription()

Public function Virtual Const

FVector

 

GetSegmentDirection

(
    uint32 SegmentEndIndex
)

Retrieves normalized direction vector to given path segment.

Public function Virtual

void

 

ResetForRepath()

Resets all variables describing generated path before attempting new pathfinding call.

Typedefs

Name

Description

Super

Constants

Name

Description

Type