UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RecastQueryFilter.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
6#include "CoreMinimal.h"
7#endif
10
11#if WITH_RECAST
12
13#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
15#endif
17
18#define RECAST_VERY_SMALL_AGENT_RADIUS 0.0f
19
21
23{
24public:
25 NAVIGATIONSYSTEM_API FRecastQueryFilter(bool bIsVirtual = true);
26 virtual ~FRecastQueryFilter(){}
27
28 NAVIGATIONSYSTEM_API virtual void Reset() override;
29
30 NAVIGATIONSYSTEM_API virtual void SetAreaCost(uint8 AreaType, float Cost) override;
31 NAVIGATIONSYSTEM_API virtual void SetFixedAreaEnteringCost(uint8 AreaType, float Cost) override;
33 NAVIGATIONSYSTEM_API virtual void SetAllAreaCosts(const float* CostArray, const int32 Count) override;
34 NAVIGATIONSYSTEM_API virtual void GetAllAreaCosts(float* CostArray, float* FixedCostArray, const int32 Count) const override;
35 NAVIGATIONSYSTEM_API virtual void SetBacktrackingEnabled(const bool bBacktracking) override;
36 NAVIGATIONSYSTEM_API virtual bool IsBacktrackingEnabled() const override;
37 NAVIGATIONSYSTEM_API virtual float GetHeuristicScale() const override;
38 NAVIGATIONSYSTEM_API virtual bool IsEqual(const INavigationQueryFilterInterface* Other) const override;
39 NAVIGATIONSYSTEM_API virtual void SetIncludeFlags(uint16 Flags) override;
40 NAVIGATIONSYSTEM_API virtual uint16 GetIncludeFlags() const override;
41 NAVIGATIONSYSTEM_API virtual void SetExcludeFlags(uint16 Flags) override;
42 NAVIGATIONSYSTEM_API virtual uint16 GetExcludeFlags() const override;
43 virtual FVector GetAdjustedEndLocation(const FVector& EndLocation) const override { return EndLocation; }
45
46 const dtQueryFilter* GetAsDetourQueryFilter() const { return this; }
47
50 NAVIGATIONSYSTEM_API void SetIsVirtual(bool bIsVirtual);
51
54
55 //----------------------------------------------------------------------//
56 // @note you might also want to override following functions from dtQueryFilter
57 // virtual bool passVirtualFilter(const dtPolyRef ref, const dtMeshTile* tile, const dtPoly* poly) const;
58 // virtual FVector::FReal getVirtualCost(const FVector::FReal* pa, const FVector::FReal* pb, const dtPolyRef prevRef, const dtMeshTile* prevTile, const dtPoly* prevPoly, const dtPolyRef curRef, const dtMeshTile* curTile, const dtPoly* curPoly, const dtPolyRef nextRef, const dtMeshTile* nextTile, const dtPoly* nextPoly) const;
59};
60
62{
64 NAVIGATIONSYSTEM_API virtual bool isLinkAllowed(const uint64 UserId) const override;
65 NAVIGATIONSYSTEM_API virtual void initialize() override;
66
70};
71
72#endif // WITH_RECAST
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition NavQueryFilter.h:10
virtual void SetAreaCost(uint8 AreaType, float Cost)=0
virtual float GetHeuristicScale() const =0
virtual void GetAllAreaCosts(float *CostArray, float *FixedCostArray, const int32 Count) const =0
virtual INavigationQueryFilterInterface * CreateCopy() const =0
virtual bool IsBacktrackingEnabled() const =0
virtual void SetFixedAreaEnteringCost(uint8 AreaType, float Cost)=0
virtual void SetAllAreaCosts(const float *CostArray, const int32 Count)=0
virtual void SetExcludeFlags(uint16 Flags)=0
virtual void SetExcludedArea(uint8 AreaType)=0
virtual void SetIncludeFlags(uint16 Flags)=0
virtual uint16 GetExcludeFlags() const =0
virtual bool IsEqual(const INavigationQueryFilterInterface *Other) const =0
virtual FVector GetAdjustedEndLocation(const FVector &EndLocation) const
Definition NavQueryFilter.h:29
virtual void SetBacktrackingEnabled(const bool bBacktracking)=0
virtual uint16 GetIncludeFlags() const =0
Definition NavigationSystem.h:296
Definition Object.h:95
Definition DetourNavMeshQuery.h:96
Definition WeakObjectPtr.h:49
Definition DetourNavMeshQuery.h:50
virtual void initialize()
Called before accessing in A* loop (can be called multiple time for updateSlicedFindPath)
Definition DetourNavMeshQuery.h:62
virtual bool isLinkAllowed(const unsigned long long int UserId) const
Definition DetourNavMeshQuery.h:56