UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CollisionConversions.h File Reference

Go to the source code of this file.

Classes

struct  FCompareFHitResultTime
 

Macros

#define DRAW_OVERLAPPING_TRIS   (!(UE_BUILD_SHIPPING || UE_BUILD_TEST))
 

Enumerations

enum class  EConvertQueryResult { Valid , Invalid }
 

Functions

EConvertQueryResult ConvertQueryImpactHit (const UWorld *World, const FHitLocation &PHit, FHitResult &OutResult, float CheckLength, const FCollisionFilterData &QueryFilter, const FVector &StartLoc, const FVector &EndLoc, const FPhysicsGeometry *Geom, const FTransform &QueryTM, bool bReturnFaceIndex, bool bReturnPhysMat)
 
EConvertQueryResult ConvertQueryImpactHit (const UWorld *World, const ChaosInterface::FPTLocationHit &PHit, FHitResult &OutResult, float CheckLength, const FCollisionFilterData &QueryFilter, const FVector &StartLoc, const FVector &EndLoc, const FPhysicsGeometry *Geom, const FTransform &QueryTM, bool bReturnFaceIndex, bool bReturnPhysMat)
 
template<typename Hit >
EConvertQueryResult ConvertTraceResults (bool &OutHasValidBlockingHit, const UWorld *World, int32 NumHits, Hit *Hits, float CheckLength, const FCollisionFilterData &QueryFilter, TArray< FHitResult > &OutHits, const FVector &StartLoc, const FVector &EndLoc, const FPhysicsGeometry *Geom, const FTransform &QueryTM, float MaxDistance, bool bReturnFaceIndex, bool bReturnPhysMat)
 
template<typename Hit >
EConvertQueryResult ConvertTraceResults (bool &OutHasValidBlockingHit, const UWorld *World, int32 NumHits, Hit *Hits, float CheckLength, const FCollisionFilterData &QueryFilter, FHitResult &OutHits, const FVector &StartLoc, const FVector &EndLoc, const FPhysicsGeometry *Geom, const FTransform &QueryTM, float MaxDistance, bool bReturnFaceIndex, bool bReturnPhysMat)
 
void ConvertQueryOverlap (const UWorld *World, const FPhysicsShape &PShape, const FPhysicsActorHandle &PActor, FOverlapResult &OutOverlap, const FCollisionFilterData &QueryFilter)
 
bool IsBlocking (const FPhysicsShape &PShape, const FCollisionFilterData &QueryFilter)
 
bool ConvertOverlapResults (int32 NumOverlaps, FHitOverlap *POverlapResults, const FCollisionFilterData &QueryFilter, TArray< FOverlapResult > &OutOverlaps)
 
bool ConvertOverlapResults (int32 NumOverlaps, ChaosInterface::FPTOverlapHit *POverlapResults, const FCollisionFilterData &QueryFilter, TArray< FOverlapResult > &OutOverlaps)
 
FHitResult ConvertOverlapToHitResult (const FOverlapResult &Overlap)
 

Macro Definition Documentation

◆ DRAW_OVERLAPPING_TRIS

#define DRAW_OVERLAPPING_TRIS   (!(UE_BUILD_SHIPPING || UE_BUILD_TEST))

Enumeration Type Documentation

◆ EConvertQueryResult

enum class EConvertQueryResult
strong
Enumerator
Valid 
Invalid 

Function Documentation

◆ ConvertOverlapResults() [1/2]

bool ConvertOverlapResults ( int32  NumOverlaps,
ChaosInterface::FPTOverlapHit POverlapResults,
const FCollisionFilterData QueryFilter,
TArray< FOverlapResult > &  OutOverlaps 
)

◆ ConvertOverlapResults() [2/2]

bool ConvertOverlapResults ( int32  NumOverlaps,
FHitOverlap POverlapResults,
const FCollisionFilterData QueryFilter,
TArray< FOverlapResult > &  OutOverlaps 
)

Util to convert a list of overlap hits into FOverlapResult and add them to OutOverlaps, if not already there

Parameters
NumOverlapsNumber Of Overlaps that happened
POverlapResultsOverlaps list
QueryFilterQuery filter for converting
Returns
OutOverlaps Converted data

◆ ConvertOverlapToHitResult()

FHitResult ConvertOverlapToHitResult ( const FOverlapResult Overlap)

Converts an overlap result to a hit result.

◆ ConvertQueryImpactHit() [1/2]

EConvertQueryResult ConvertQueryImpactHit ( const UWorld World,
const ChaosInterface::FPTLocationHit PHit,
FHitResult OutResult,
float  CheckLength,
const FCollisionFilterData QueryFilter,
const FVector StartLoc,
const FVector EndLoc,
const FPhysicsGeometry Geom,
const FTransform QueryTM,
bool  bReturnFaceIndex,
bool  bReturnPhysMat 
)

◆ ConvertQueryImpactHit() [2/2]

EConvertQueryResult ConvertQueryImpactHit ( const UWorld World,
const FHitLocation PHit,
FHitResult OutResult,
float  CheckLength,
const FCollisionFilterData QueryFilter,
const FVector StartLoc,
const FVector EndLoc,
const FPhysicsGeometry Geom,
const FTransform QueryTM,
bool  bReturnFaceIndex,
bool  bReturnPhysMat 
)

Util to convert single physX hit (raycast or sweep) to our hit result

Parameters
PHitPhysX hit data
OutResult(out) Result converted
CheckLengthDistance of trace
QueryFilterQuery Filter
StartLocStart of trace
EndLoc
Geom
bReturnFaceIndexTrue if we want to lookup the face index
bReturnPhysMatTrue if we want to lookup the physical material
Returns
Whether result passed NaN/Inf checks.

◆ ConvertQueryOverlap()

void ConvertQueryOverlap ( const UWorld World,
const FPhysicsShape PShape,
const FPhysicsActorHandle PActor,
FOverlapResult OutOverlap,
const FCollisionFilterData QueryFilter 
)

Util to convert physX or Chaos overlap query to our overlap result

Parameters
PShapeShape that overlaps
PActorSpecific actor as PShape might be shared among many actors
OutOverlap(out) Result converted
QueryFilterQuery Filter

◆ ConvertTraceResults() [1/2]

template<typename Hit >
EConvertQueryResult ConvertTraceResults ( bool OutHasValidBlockingHit,
const UWorld World,
int32  NumHits,
Hit *  Hits,
float  CheckLength,
const FCollisionFilterData QueryFilter,
FHitResult OutHits,
const FVector StartLoc,
const FVector EndLoc,
const FPhysicsGeometry Geom,
const FTransform QueryTM,
float  MaxDistance,
bool  bReturnFaceIndex,
bool  bReturnPhysMat 
)

◆ ConvertTraceResults() [2/2]

template<typename Hit >
EConvertQueryResult ConvertTraceResults ( bool OutHasValidBlockingHit,
const UWorld World,
int32  NumHits,
Hit *  Hits,
float  CheckLength,
const FCollisionFilterData QueryFilter,
TArray< FHitResult > &  OutHits,
const FVector StartLoc,
const FVector EndLoc,
const FPhysicsGeometry Geom,
const FTransform QueryTM,
float  MaxDistance,
bool  bReturnFaceIndex,
bool  bReturnPhysMat 
)

Util to convert physX sweep results to unreal hit results and add to array

Parameters
OutHasValidBlockingHitset to whether there is a valid blocking hit found in the results.
NumHitsNumber of Hits
HitsArray of hits
CheckLengthDistance of trace
QueryFilterQuery Filter
StartLocStart of trace
EndLocEnd of trace
Geom
bReturnFaceIndexTrue if we want to lookup the face index
bReturnPhysMatTrue if we want to lookup the physical material
Returns
Whether all results passed NaN/Inf checks.

◆ IsBlocking()

bool IsBlocking ( const FPhysicsShape PShape,
const FCollisionFilterData QueryFilter 
)

Util to determine if a shape is deemed blocking based on the query filter

Parameters
PShapeShape that overlaps @QueryFilter Query Filter
Returns
true if the query filter and shape filter resolve to be blocking