UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NavLocalGridData.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 "SimpleCellGrid.h"
7
9struct FNavigationPath;
10
23struct FNavLocalGridData : public TSimpleCellGrid<uint8, MAX_uint8>
24{
25 FNavLocalGridData() : GridId(0) {}
26 AIMODULE_API FNavLocalGridData(const FVector& Center, float Extent2D);
27 AIMODULE_API FNavLocalGridData(const FVector& Center, const FVector2D& Extent2D);
29
32
34 AIMODULE_API void MarkBoxObstacle(const FVector& Center, const FVector& Extent, const FQuat& Quat = FQuat::Identity);
35
37 AIMODULE_API void MarkCapsuleObstacle(const FVector& Center, float Radius, float HalfHeight);
38
40 AIMODULE_API void SetHeight(float ExtentZ);
41
43 const int32 GetGridId() const
44 {
45 return GridId;
46 }
47
53
56 {
57 return FIntVector(GetCellCoordX(CellIdx) + OriginWorldCoord.X, GetCellCoordY(CellIdx) + OriginWorldCoord.Y, OriginWorldCoord.Z);
58 }
59
62
65 {
66 return GetProjectedCellCenter(GetCellCoordX(CellIdx), GetCellCoordY(CellIdx));
67 }
68
75
84
87
89 AIMODULE_API void ProjectCells(const ANavigationData& NavData);
90
92 // FGraphAStar: TGraph
93 typedef int32 FNodeRef;
94
95 int32 GetNeighbourCount(FNodeRef NodeRef) const { return 8; }
96 bool IsValidRef(FNodeRef NodeRef) const { return IsValidIndex(NodeRef); }
97 AIMODULE_API FNodeRef GetNeighbour(const FNodeRef NodeRef, const int32 NeiIndex) const;
99
100protected:
104
107
110
113
114private:
115 int32 GridId;
116 FIntVector OriginWorldCoord;
117};
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
#define FVector
Definition IOSSystemIncludes.h:8
FInt32Vector3 FIntVector
Definition MathFwd.h:115
Definition NavigationData.h:547
Definition Array.h:670
Definition NavLocalGridManager.h:28
Definition NavLocalGridData.h:24
AIMODULE_API void MarkPointObstacle(const FVector &Center)
Definition NavLocalGridData.cpp:92
FIntVector GetGlobalCoords(int32 CellIdx) const
Definition NavLocalGridData.h:55
double LastAccessTime
Definition NavLocalGridData.h:103
AIMODULE_API void ProjectCells(const ANavigationData &NavData)
Definition NavLocalGridData.cpp:394
int32 FNodeRef
Definition NavLocalGridData.h:93
const int32 GetGridId() const
Definition NavLocalGridData.h:43
bool HasObstacleUnsafe(int32 LocationX, int32 LocationY) const
Definition NavLocalGridData.h:49
AIMODULE_API void MarkBoxObstacle(const FVector &Center, const FVector &Extent, const FQuat &Quat=FQuat::Identity)
Definition NavLocalGridData.cpp:101
TArray< FVector::FReal > CellZ
Definition NavLocalGridData.h:102
AIMODULE_API void SetHeight(float ExtentZ)
Definition NavLocalGridData.cpp:162
AIMODULE_API void FindPathForMovingAgent(const FNavigationPath &SourcePath, const FVector &EntryLocation, int32 EntrySegmentStart, TArray< FVector > &PathPointsInside, int32 &NextSegmentStart) const
Definition NavLocalGridData.cpp:174
AIMODULE_API void PostProcessPath(const FIntVector &StartCoords, const FIntVector &EndCoords, const TArray< int32 > &PathIndices, TArray< FIntVector > &PathCoords) const
Definition NavLocalGridData.cpp:305
AIMODULE_API bool FindPath(const FIntVector &StartCoords, const FIntVector &EndCoords, TArray< FIntVector > &PathCoords) const
Definition NavLocalGridData.cpp:286
FVector GetProjectedCellCenter(int32 CellIdx) const
Definition NavLocalGridData.h:64
FNavLocalGridData()
Definition NavLocalGridData.h:25
AIMODULE_API int32 GetCellIndexFromGlobalCoords2D(const FIntVector &WorldCoords) const
Definition NavLocalGridData.cpp:78
AIMODULE_API void MarkCapsuleObstacle(const FVector &Center, float Radius, float HalfHeight)
Definition NavLocalGridData.cpp:141
AIMODULE_API bool IsLineObstructed(const FIntVector &StartCoords, const FIntVector &EndCoords) const
Definition NavLocalGridData.cpp:330
bool IsValidRef(FNodeRef NodeRef) const
Definition NavLocalGridData.h:96
AIMODULE_API void SetGridId(int32 NewId)
Definition NavLocalGridData.cpp:169
FVector GetProjectedCellCenter(int32 LocationX, int32 LocationY) const
Definition NavLocalGridData.h:70
int32 GetNeighbourCount(FNodeRef NodeRef) const
Definition NavLocalGridData.h:95
AIMODULE_API FNodeRef GetNeighbour(const FNodeRef NodeRef, const int32 NeiIndex) const
Definition NavLocalGridData.cpp:389
Definition NavigationData.h:87
Definition SimpleCellGrid.h:28
FCellType & GetCellAtIndexUnsafe(int32 CellIndex)
Definition SimpleCellGrid.h:296
FVector GetWorldCellCenter(int32 CellIndex) const
Definition SimpleCellGrid.h:270
int32 GetCellCoordY(int32 CellIndex) const
Definition SimpleCellGrid.h:169
int32 GetCellIndexUnsafe(const FVector &WorldLocation) const
Definition SimpleCellGrid.h:181
bool IsValidIndex(const int32 CellIndex) const
Definition SimpleCellGrid.h:126
int32 GetCellCoordX(int32 CellIndex) const
Definition SimpleCellGrid.h:163
IntType Y
Definition IntVector.h:34
IntType X
Definition IntVector.h:31
IntType Z
Definition IntVector.h:37
static CORE_API const TQuat< double > Identity
Definition Quat.h:63