Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/AI > API/Runtime/Engine/AI/Navigation
Inheritance Hierarchy
- FSharedFromThisBase
- TSharedFromThis
- FNavigationElement
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Classes/AI/Navigation/NavigationElement.h |
| Include | #include "AI/Navigation/NavigationElement.h" |
Syntax
struct FNavigationElement : public TSharedFromThis< FNavigationElement >
Remarks
Structure registered in the navigation system that holds the required properties and delegates to gather navigation data (navigable geometry, NavArea modifiers, NavLinks, etc.) and be stored in the navigation octree.
It represents a single element spatially located in a defined area in the level. That element can be created to represent two use cases:
Single UObject representing the navigation element constructed from a UObject raw or weak pointer
Single UObject managing multiple non-UObject navigation elements constructed from a UObject raw or weak pointer and using the optional constructor parameter to identity a unique sub-element
Variables
| Type | Name | Description | |
|---|---|---|---|
| FCustomGeometryExport | CustomGeometryExportDelegate | Delegate used during the geometry export based on the specified GeometryExportType | |
| FGeometrySliceExport | GeometrySliceExportDelegate | Delegate that can be used by very large elements to gather a limited piece of geometry for navigation generation in a given area. | |
| FNavigationDataExport | NavigationDataExportDelegate | Delegate used to gather navigation data like NavLinks, NavAreaModifiers, etc. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FNavigationElement
(
const UObject& Object, |
|||
FNavigationElement
(
const INavRelevantInterface& NavRelevant, |
|||
FNavigationElement
(
const UObject* Object, |
|||
FNavigationElement
(
FPrivateToken, |
Public, but can only be called by FNavigationElement and friends, because it needs access to FPrivateToken. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| TSharedRef< const FNavigationElement > | CreateFromNavRelevantInterface
(
const INavRelevantInterface& NavRelevantInterface |
Factory helper function to create and initialize a sharable element from INavRelevantInterface. | |
| UBodySetup * | GetBodySetup () |
||
| FBox | GetBounds () |
||
| bool | |||
| FString | GetFullName () |
||
| EHasCustomNavigableGeometry::Type | |||
| ENavDataGatheringMode | |||
| FNavigationElementHandle | GetHandle () |
Returns a handle that can be used to uniquely identify this element. | |
| FString | GetName () |
||
| const TWeakObjectPtr< const UObject > & | |||
| FString | GetPathName () |
||
| const FTransform & | GetTransform () |
||
| TWeakObjectPtr< const UObject > | Inlines (FNavigationElement) | ||
| bool | |||
| bool | |||
| void | SetBodySetup
(
UBodySetup* InBodySetup |
Sets the body setup to use for the default geometry export. | |
| void | Sets the Bounds to use when registering the element in the navigation octree. | ||
| void | SetDirtyAreaOnRegistration
(
const bool bInDirtyAreaOnRegistration |
Sets whether the area covered by the navigation bounds should be dirtied when inserting, or removing, the element in the navigation octree (default behavior). | |
| void | SetGeometryExportType
(
const EHasCustomNavigableGeometry::Type InCustomNavigableGeometry |
Sets the type of geometry export to use for the current element | |
| void | SetGeometryGatheringMode
(
const ENavDataGatheringMode InGeometryGatheringMode |
Sets the mode that indicates when the geometry gathering must be executed. | |
| void | SetNavigationParent
(
const UObject* InNavigationParent |
Sets the UObject for which the associated octree node will be used to hold the current element navigation data. | |
| void | SetTransform
(
const FTransform& InGeometryTransform |
Sets the Transform to use for the default geometry export. |