UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ExternalSpatialAccelerationPayload.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Chaos/Declares.h"
10#include "UObject/Object.h"
11#include "UObject/ObjectKey.h"
12
13#include "ExternalSpatialAccelerationPayload.generated.h"
14
15class UPrimitiveComponent;
16
22USTRUCT()
24{
26public:
27 static constexpr bool bHasPayloadOnInternalThread = false;
28
30
33
34 ENGINE_API Chaos::FGeometryParticle* GetExternalGeometryParticle_ExternalThread() const;
35 bool operator==(const FExternalSpatialAccelerationPayload& Other) const;
37 ENGINE_API Chaos::FUniqueIdx UniqueIdx() const;
39 bool PrePreQueryFilter(const void* QueryData) const { return false; }
40 bool PrePreSimFilter(const void* SimData) const { return false; }
41 bool IsValid() const
42 {
43 return CachedUniqueIdx.IsValid(); // Don't use this payload if the UniqueIdx is invalid
44 };
45
46 friend ENGINE_API uint32 GetTypeHash(const FExternalSpatialAccelerationPayload& Payload);
47private:
49 int32 BoneId = INDEX_NONE;
50 Chaos::FUniqueIdx CachedUniqueIdx;
51
52#if CHAOS_DEBUG_DRAW
53public:
54 ENGINE_API void DebugDraw(const bool bExternal, const bool bHit) const;
55#endif
56};
57
59
61{
62 return (Component == Other.Component) && (BoneId == Other.BoneId);
63}
64
69
71{
72 AccelerationHandle.Serialize(Ar);
73 return Ar;
74}
@ INDEX_NONE
Definition CoreMiscDefines.h:150
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
Chaos::FChaosArchive & operator<<(Chaos::FChaosArchive &Ar, FExternalSpatialAccelerationPayload &AccelerationHandle)
Definition ExternalSpatialAccelerationPayload.h:70
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ChaosArchive.h:167
Definition ISpatialAcceleration.h:267
Definition ParticleHandle.h:2739
Definition ObjectKey.h:228
Definition GeometryParticlesfwd.h:87
Definition ExternalSpatialAccelerationPayload.h:24
bool operator!=(const FExternalSpatialAccelerationPayload &Other) const
Definition ExternalSpatialAccelerationPayload.h:65
bool PrePreQueryFilter(const void *QueryData) const
Definition ExternalSpatialAccelerationPayload.h:39
bool PrePreSimFilter(const void *SimData) const
Definition ExternalSpatialAccelerationPayload.h:40
ENGINE_API void Serialize(Chaos::FChaosArchive &Ar)
Definition ExternalSpatialAccelerationPayload.cpp:60
bool IsValid() const
Definition ExternalSpatialAccelerationPayload.h:41
bool operator==(const FExternalSpatialAccelerationPayload &Other) const
Definition ExternalSpatialAccelerationPayload.h:60