UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
EnvQueryTraceHelpers.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"
11#include "WorldCollision.h"
12#include "Engine/World.h"
13
14class ANavigationData;
15class Error;
16
17namespace FEQSHelpers
18{
19 enum class ETraceMode : uint8
20 {
21 Keep,
22 Discard,
23 };
24
26 {
34
41
55
56 bool RunLineTrace(const FVector& StartPos, const FVector& EndPos, FVector& HitPos) const;
57
58 bool RunSphereTrace(const FVector& StartPos, const FVector& EndPos, FVector& HitPos) const;
59
60 bool RunCapsuleTrace(const FVector& StartPos, const FVector& EndPos, FVector& HitPos) const;
61
62 bool RunBoxTrace(const FVector& StartPos, const FVector& EndPos, FVector& HitPos) const;
63
64 template<EEnvTraceShape::Type TraceType>
66 {
67 UE_LOG(LogEQS, Error, TEXT("FBatchTrace::DoSingleSourceMultiDestinations called with unhandled trace type: %d"), int32(TraceType));
68 }
69
72 template<EEnvTraceShape::Type TraceType>
74 {
75 UE_LOG(LogEQS, Error, TEXT("FBatchTrace::DoMultiSourceMultiDestinations2D called with unhandled trace type: %d"), int32(TraceType));
76 }
77
78 template<EEnvTraceShape::Type TraceType>
80 {
81 UE_LOG(LogEQS, Error, TEXT("FBatchTrace::DoSingleSourceMultiDestinations called with unhandled trace type: %d"), int32(TraceType));
82 }
83 };
84
85 AIMODULE_API void RunNavRaycasts(const ANavigationData& NavData, const UObject& Querier, const FEnvTraceData& TraceData, const FVector& SourcePt, TArray<FNavLocation>& Points, const ETraceMode TraceMode = ETraceMode::Keep);
86 AIMODULE_API void RunNavProjection(const ANavigationData& NavData, const UObject& Querier, const FEnvTraceData& TraceData, TArray<FNavLocation>& Points, const ETraceMode TraceMode = ETraceMode::Discard);
94
95 // deprecated
96
97 UE_DEPRECATED_FORGAME(4.12, "This function is now deprecated, please use version with Querier argument instead.")
98 void RunNavRaycasts(const ANavigationData& NavData, const FEnvTraceData& TraceData, const FVector& SourcePt, TArray<FNavLocation>& Points, ETraceMode TraceMode = ETraceMode::Keep);
99
100 UE_DEPRECATED_FORGAME(4.12, "This function is now deprecated, please use version with Querier argument instead.")
101 void RunNavProjection(const ANavigationData& NavData, const FEnvTraceData& TraceData, TArray<FNavLocation>& Points, ETraceMode TraceMode = ETraceMode::Discard);
102}
OODEFFUNC typedef const int const char * function
Definition oodle2.h:710
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define UE_DEPRECATED_FORGAME
Definition CoreMiscDefines.h:377
#define TEXT(x)
Definition Platform.h:1272
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
ECollisionChannel
Definition EngineTypes.h:1088
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NavigationData.h:547
Definition UnrealType.h:3087
Definition Array.h:670
static ENGINE_API bool GetChannelAndResponseParams(FName ProfileName, ECollisionChannel &CollisionChannel, FCollisionResponseParams &ResponseParams)
Definition CollisionProfile.cpp:98
static ENGINE_API ECollisionChannel ConvertToCollisionChannel(ETraceTypeQuery TraceType)
Definition EngineTypes.cpp:34
Definition Object.h:95
Definition World.h:918
@ GeometryByProfile
Definition EnvQueryTypes.h:233
Definition EnvQueryTypes.h:1331
AIMODULE_API void RunPhysRaycasts(UWorld *World, const FEnvTraceData &TraceData, const FVector &SourcePt, TArray< FNavLocation > &Points, const TArray< AActor * > &IgnoredActors, const ETraceMode TraceMode=ETraceMode::Keep)
Definition EnvQueryTraceHelpers.cpp:430
AIMODULE_API void RunNavProjection(const ANavigationData &NavData, const UObject &Querier, const FEnvTraceData &TraceData, TArray< FNavLocation > &Points, const ETraceMode TraceMode=ETraceMode::Discard)
Definition EnvQueryTraceHelpers.cpp:385
AIMODULE_API void RunNavRaycasts(const ANavigationData &NavData, const UObject &Querier, const FEnvTraceData &TraceData, const FVector &SourcePt, TArray< FNavLocation > &Points, const ETraceMode TraceMode=ETraceMode::Keep)
Definition EnvQueryTraceHelpers.cpp:354
ETraceMode
Definition EnvQueryTraceHelpers.h:20
AIMODULE_API void RunPhysProjection(UWorld *World, const FEnvTraceData &TraceData, TArray< FNavLocation > &Points, const ETraceMode TraceMode=ETraceMode::Discard)
Definition EnvQueryTraceHelpers.cpp:462
AIMODULE_API void RunRaycastsOnNavHitOnlyWalls(const ANavigationData &NavData, const UObject &Querier, const FEnvTraceData &TraceData, const FVector &SourcePt, TArray< FNavLocation > &Points, const TArray< AActor * > &IgnoredActors, const ETraceMode TraceMode=ETraceMode::Keep)
Definition EnvQueryTraceHelpers.cpp:250
Definition CollisionQueryParams.h:43
Definition CollisionQueryParams.h:324
Definition EnvQueryTraceHelpers.h:26
bool RunCapsuleTrace(const FVector &StartPos, const FVector &EndPos, FVector &HitPos) const
Definition EnvQueryTraceHelpers.cpp:338
const FVector Extent
Definition EnvQueryTraceHelpers.h:28
TArray< uint8 > TraceHits
Definition EnvQueryTraceHelpers.h:33
FCollisionResponseParams ResponseParams
Definition EnvQueryTraceHelpers.h:30
void DoProject(TArray< FNavLocation > &Points, float StartOffsetZ, float EndOffsetZ, float HitOffsetZ)
Definition EnvQueryTraceHelpers.h:79
FBatchTrace(UWorld *InWorld, const FEnvTraceData &TraceData, const FCollisionQueryParams &InParams, const FVector &InExtent, ETraceMode InTraceMode)
Definition EnvQueryTraceHelpers.h:42
const FCollisionQueryParams QueryParams
Definition EnvQueryTraceHelpers.h:29
enum ECollisionChannel Channel
Definition EnvQueryTraceHelpers.h:31
FBatchTrace(UWorld *InWorld, enum ECollisionChannel InChannel, const FCollisionQueryParams &InParams, const FVector &InExtent, ETraceMode InTraceMode)
Definition EnvQueryTraceHelpers.h:35
bool RunSphereTrace(const FVector &StartPos, const FVector &EndPos, FVector &HitPos) const
Definition EnvQueryTraceHelpers.cpp:330
bool RunBoxTrace(const FVector &StartPos, const FVector &EndPos, FVector &HitPos) const
Definition EnvQueryTraceHelpers.cpp:346
void DoSingleSourceMultiDestinations(const FVector &Source, TArray< FNavLocation > &Points)
Definition EnvQueryTraceHelpers.h:65
ETraceMode TraceMode
Definition EnvQueryTraceHelpers.h:32
void DoMultiSourceMultiDestinations2D(const TArray< FRayStartEnd > &Rays, TArray< FNavLocation > &OutPoints)
Definition EnvQueryTraceHelpers.h:73
UWorld * World
Definition EnvQueryTraceHelpers.h:27
bool RunLineTrace(const FVector &StartPos, const FVector &EndPos, FVector &HitPos) const
Definition EnvQueryTraceHelpers.cpp:322
Definition EnvQueryTypes.h:329
TEnumAsByte< EEnvQueryTrace::Type > TraceMode
Definition EnvQueryTypes.h:393
FName TraceProfileName
Definition EnvQueryTypes.h:385
TEnumAsByte< enum ETraceTypeQuery > TraceChannel
Definition EnvQueryTypes.h:377
Definition NavigationTypes.h:252