11#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
15#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_5
18#include "NavigationTypes.generated.h"
20#define INVALID_NAVQUERYID uint32(0)
21#define INVALID_NAVDATA uint32(0)
22#define INVALID_NAVEXTENT (FVector::ZeroVector)
24#define DEFAULT_NAV_QUERY_EXTENT_HORIZONTAL 50.f
25#define DEFAULT_NAV_QUERY_EXTENT_VERTICAL 250.f
35#define INVALID_NAVNODEREF NavNodeRef(0)
121 UE_DEPRECATED(5.4,
"This function is not deterministic in all instances during cooking. Use the version which takes PathName.")
161 return Id != InvalidLinkId;
172 return !this->operator==(
Other);
193 return (
Id & NavLinkIdBitMask) == 0;
208 return GetTypeHash(
Value.GetId());
280 UE_DEPRECATED(5.3,
"Use CustomNavLinkId instead. This id is no longer used in the engine.")
321 return Id ==
Other.Id || (ParentType !=
nullptr && *ParentType ==
Other);
326 return (Id ==
Other.Id) || (ParentType && ParentType->
IsA(
Other));
342 UpdatedDueToGoalMoved,
343 UpdatedDueToNavigationChanged,
430 UPROPERTY(EditAnywhere, Category =
NavMovement, meta = (EditCondition =
"bUseFixedBrakingDistanceForPaths"))
435 bool bUpdateNavAgentWithOwnersCollision =
true;
439 bool bUseAccelerationForPaths =
false;
442 UPROPERTY(EditAnywhere, Category =
NavMovement, meta = (EditCondition = "bUseAccelerationForPaths"))
443 bool bUseFixedBrakingDistanceForPaths =
false;
447 bool bStopMovementAbortPaths =
true;
466 float AgentStepHeight;
470 float NavWalkingSearchHeightScale;
477 : AgentRadius(Radius), AgentHeight(Height), AgentStepHeight(-1), NavWalkingSearchHeightScale(0.5f)
485 inline bool IsValid()
const {
return AgentRadius >= 0.f && AgentHeight >= 0.f; }
494 && ((HasStepHeightOverride() ==
false)
495 || (
Other.HasStepHeightOverride() ==
false)
497 && IsNavDataMatching(
Other);
502 return IsEquivalent(
Other);
508 ?
FVector(AgentRadius, AgentRadius, AgentHeight / 2)
518 return ((
int16(
A.AgentRadius) << 16) |
int16(
A.AgentHeight)) ^
int32(
A.AgentStepHeight);
691 const int64 NewSize = NumElements * NumBytesPerElement;
693 AllocatedSize = NewSize;
699 ForAnyElementType(
const ForAnyElementType&);
700 ForAnyElementType& operator=(
const ForAnyElementType&);
703 template<
typename ElementType>
704 class ForElementType :
public ForAnyElementType
709 return (ElementType*)ForAnyElementType::GetAllocation();
729template<
typename InElementType>
#define check(expr)
Definition AssertionMacros.h:314
#define GET_MEMBER_NAME_CHECKED(ClassName, MemberName)
Definition AssertionMacros.h:493
@ ForceInit
Definition CoreMiscDefines.h:155
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define DEC_DWORD_STAT_BY(StatId, Amount)
Definition Stats.h:703
#define INC_DWORD_STAT_BY(StatId, Amount)
Definition Stats.h:698
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
#define DECLARE_DELEGATE_ThreeParams(DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:66
DIRECTLINK_API Display
Definition DirectLinkLog.h:8
return true
Definition ExternalRpcRegistry.cpp:601
#define FVector
Definition IOSSystemIncludes.h:8
UE::Math::TBox< double > FBox
Definition MathFwd.h:55
ENavigationSortPendingTilesMethod
Definition NavigationTypes.h:88
uint64 NavNodeRef
Definition NavigationTypes.h:34
#define INVALID_NAVEXTENT
Definition NavigationTypes.h:22
#define INVALID_NAVNODEREF
Definition NavigationTypes.h:35
TWeakPtr< struct FNavigationPath, ESPMode::ThreadSafe > FNavPathWeakPtr
Definition NavigationTypes.h:383
ENavigationOptionFlag
Definition NavigationTypes.h:68
TSharedPtr< struct FNavigationPath, ESPMode::ThreadSafe > FNavPathSharedPtr
Definition NavigationTypes.h:382
ENavDataGatheringModeConfig
Definition NavigationTypes.h:80
TSharedRef< struct FNavigationPath, ESPMode::ThreadSafe > FNavPathSharedRef
Definition NavigationTypes.h:381
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
void * GetAllocation(void *Target, uint32 Size, uint32 Offset, uint32 Alignment=16)
Definition OpenGLBuffer.cpp:57
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
Definition NameTypes.h:617
Definition NavAgentInterface.h:20
Definition NavRelevantInterface.h:49
UE_REWRITE bool IsEmpty() const
Definition Array.h:1133
bool IsEmpty() const
Definition BitArray.h:1461
Definition NavigationTypes.h:731
TArray< InElementType, NavMeshMemory::FNavAllocator > Super
Definition NavigationTypes.h:733
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition ContainerAllocationPolicies.h:830
Definition ContainerAllocationPolicies.h:631
Definition SoftObjectPtr.h:763
Definition SubclassOf.h:30
Definition SharedPointer.h:1295
Definition NavigationTypes.h:373
Definition NavigationTypes.h:337
Definition NavigationTypes.h:352
Definition NavigationTypes.h:627
Type
Definition NavigationTypes.h:629
Definition NavigationTypes.h:363
Definition NavigationTypes.h:38
ENGINE_API const float FallbackAgentHeight
Definition NavigationTypes.cpp:27
ENGINE_API const float FallbackAgentRadius
Definition NavigationTypes.cpp:26
constexpr FBox InvalidBoundingBox(ForceInit, UE::Math::TBoxConstInit{})
constexpr FVector InvalidLocation
Definition NavigationTypes.h:47
ENGINE_API bool IsInBaseNavmesh(const UObject *Object)
Definition NavigationTypes.cpp:50
bool IsValidLocation(const FVector &TestLocation)
Definition NavigationTypes.h:49
bool BoxesAreSame(const FBox &A, const FBox &B)
Definition NavigationTypes.h:54
ENGINE_API bool IsLevelVisibilityChanging(const UObject *Object)
Definition NavigationTypes.cpp:29
Definition NavigationTypes.h:651
FDefaultAllocator FNavAllocator
Definition NavigationTypes.h:716
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition NavigationTypes.h:388
Definition NavigationTypes.h:453
bool IsEquivalent(const FNavAgentProperties &Other, float Precision=5.f) const
Definition NavigationTypes.h:490
friend uint32 GetTypeHash(const FNavAgentProperties &A)
Definition NavigationTypes.h:516
bool IsValid() const
Definition NavigationTypes.h:485
ENGINE_API FNavAgentProperties(const FNavAgentProperties &Other)
ENGINE_API FNavAgentProperties & operator=(const FNavAgentProperties &Other)
bool operator==(const FNavAgentProperties &Other) const
Definition NavigationTypes.h:500
bool HasStepHeightOverride() const
Definition NavigationTypes.h:486
static ENGINE_API const FNavAgentProperties DefaultProperties
Definition NavigationTypes.h:514
FVector GetExtent() const
Definition NavigationTypes.h:505
Definition NavigationTypes.h:525
Definition NavigationTypes.h:741
TBitArray Holes
Definition NavigationTypes.h:743
ENGINE_API void Empty()
Definition NavigationTypes.cpp:404
bool IsEmpty() const
Definition NavigationTypes.h:749
TNavStatArray< int16 > Heights
Definition NavigationTypes.h:742
ENGINE_API void GetResourceSizeEx(FResourceSizeEx &CumulativeResourceSize)
Definition NavigationTypes.cpp:399
ENGINE_API FNavHeightfieldSamples()
Definition NavigationTypes.cpp:395
Definition NavigationTypes.h:107
static ENGINE_API const FNavLinkAuxiliaryId Invalid
Definition NavigationTypes.h:135
bool operator!=(const FNavLinkAuxiliaryId &Other) const
Definition NavigationTypes.h:118
bool operator==(const FNavLinkAuxiliaryId &Other) const
Definition NavigationTypes.h:117
Definition NavigationTypes.h:150
uint64 GetId() const
Definition NavigationTypes.h:175
bool IsValid() const
Definition NavigationTypes.h:159
bool IsLegacyId() const
Definition NavigationTypes.h:191
bool operator==(const FNavLinkId &Other) const
Definition NavigationTypes.h:164
friend uint32 GetTypeHash(FNavLinkId const &Value)
Definition NavigationTypes.h:206
bool operator!=(const FNavLinkId &Other) const
Definition NavigationTypes.h:170
void SetId(uint64 InId)
Definition NavigationTypes.h:180
static ENGINE_API const FNavLinkId Invalid
Definition NavigationTypes.h:212
Definition NavigationTypes.h:252
bool operator==(const FNavLocation &Other) const
Definition NavigationTypes.h:268
FVector Location
Definition NavigationTypes.h:254
bool HasNodeRef() const
Definition NavigationTypes.h:264
FNavLocation()
Definition NavigationTypes.h:259
NavNodeRef NodeRef
Definition NavigationTypes.h:257
FNavLocation(const FVector &InLocation, NavNodeRef InNodeRef=INVALID_NAVNODEREF)
Definition NavigationTypes.h:260
Definition NavigationTypes.h:426
Definition NavigationTypes.h:276
FNavLinkId CustomNavLinkId
Definition NavigationTypes.h:284
FNavPathPoint & operator=(FNavPathPoint &&Other)=default
PRAGMA_ENABLE_DEPRECATION_WARNINGS bool operator==(const FNavPathPoint &Other) const
Definition NavigationTypes.h:308
PRAGMA_DISABLE_DEPRECATION_WARNINGS FNavPathPoint(const FNavPathPoint &)=default
FNavPathPoint & operator=(const FNavPathPoint &Other)=default
FNavPathPoint(const FVector &InLocation, NavNodeRef InNodeRef=INVALID_NAVNODEREF, uint32 InFlags=0)
Definition NavigationTypes.h:293
uint32 CustomLinkId
Definition NavigationTypes.h:281
FNavPathPoint(FNavPathPoint &&Other)=default
uint32 Flags
Definition NavigationTypes.h:278
Definition NavigationTypes.h:316
bool IsA(const FNavPathType &Other) const
Definition NavigationTypes.h:324
FNavPathType(const FNavPathType *Parent=nullptr)
Definition NavigationTypes.h:317
bool operator==(const FNavPathType &Other) const
Definition NavigationTypes.h:319
Definition NavigationData.h:87
Definition NavigationTypes.h:227
FNavigationPortalEdge()
Definition NavigationTypes.h:232
FNavigationPortalEdge(const FVector &InLeft, const FVector &InRight, NavNodeRef InToRef)
Definition NavigationTypes.h:235
FVector Left
Definition NavigationTypes.h:228
FVector GetPoint(const int32 Index) const
Definition NavigationTypes.h:239
FVector GetMiddlePoint() const
Definition NavigationTypes.h:247
FVector Right
Definition NavigationTypes.h:229
NavNodeRef ToRef
Definition NavigationTypes.h:230
FVector::FReal GetLength() const
Definition NavigationTypes.h:245
Definition NavigationTypes.h:573
FNavLocation OutLocation
Definition NavigationTypes.h:581
uint32 bIsValid
Definition NavigationTypes.h:591
FNavigationProjectionWork()
Definition NavigationTypes.h:597
FNavigationProjectionWork(const FVector &StartPoint, const FBox &CustomProjectionLimits=FBox(ForceInit))
Definition NavigationTypes.h:593
uint32 bHintProjection2D
Definition NavigationTypes.h:584
const FVector Point
Definition NavigationTypes.h:575
FBox ProjectionLimit
Definition NavigationTypes.h:578
uint32 bResult
Definition NavigationTypes.h:588
Definition NavigationTypes.h:612
FNavigationRaycastWork(const FVector &InRayStart, const FVector &InRayEnd)
Definition NavigationTypes.h:620
FNavLocation HitLocation
Definition NavigationTypes.h:614
bool bIsRayEndInCorridor
Definition NavigationTypes.h:618
bool bDidHit
Definition NavigationTypes.h:615
Definition NavigationTypes.h:603
const FVector RayEnd
Definition NavigationTypes.h:605
FRayStartEnd(const FVector &InRayStart=FNavigationSystem::InvalidLocation, const FVector &InRayEnd=FNavigationSystem::InvalidLocation)
Definition NavigationTypes.h:606
const FVector RayStart
Definition NavigationTypes.h:604
Definition ResourceSize.h:31
Definition SoftObjectPath.h:539
Definition ContainerAllocationPolicies.h:256
Definition NumericLimits.h:41
static bool PointsAreSame(const TVector< double > &P, const TVector< double > &Q)
Definition Vector.h:1368
double FReal
Definition Vector.h:55
static UE_FORCEINLINE_HINT double Dist(const TVector< double > &V1, const TVector< double > &V2)
Definition Vector.h:2466