UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosVDAccelerationStructureDataWrappers.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
6
7#include "ChaosVDAccelerationStructureDataWrappers.generated.h"
8
9UENUM()
11{
12 None = 0,
13 IsLeaf = 1 << 0,
14 IsDirty = 1 << 1
15};
16
18
19UENUM()
28
29USTRUCT()
31{
33
34 UPROPERTY(VisibleAnywhere, Category="CVD Debug")
35 int32 SolverId = INDEX_NONE;
36
37 UPROPERTY(VisibleAnywhere, Category="Data")
39};
40
41USTRUCT()
43{
45
46 UPROPERTY(VisibleAnywhere, Category="Data")
48
49 UPROPERTY(VisibleAnywhere, Category="Data")
50 int32 ParticleIndex = INDEX_NONE;
51
52 FIntVector3 StartIdx = FIntVector3::ZeroValue;
53 FIntVector3 EndIdx = FIntVector3::ZeroValue;
54
56};
57
58// TODO: Disabling C4996 due to MSVC 14.30 bug
59#pragma warning(disable : 4996)
61#pragma warning(default : 4996)
62
63USTRUCT()
65{
67
68 FIntVector3 MElementsCounts = FIntVector3::ZeroValue;
69
71
72 UPROPERTY(VisibleAnywhere, Category="Settings")
73 double MaxPayloadBounds = 0.0;
74
76};
77
78// TODO: Disabling C4996 due to MSVC 14.30 bug
79#pragma warning(disable : 4996)
81#pragma warning(default : 4996)
82
83USTRUCT(DisplayName="AABB Tree Node")
85{
87
88 UPROPERTY(VisibleAnywhere, Category="Node")
89 FBox ChildrenBounds[2] = { FBox(ForceInitToZero), FBox(ForceInitToZero) };
90 UPROPERTY(VisibleAnywhere, Category="Node")
91 int32 ChildrenNodes[2] = { INDEX_NONE, INDEX_NONE };
92 UPROPERTY(VisibleAnywhere, Category="Node")
93 int32 ParentNode = INDEX_NONE;
94 UPROPERTY(VisibleAnywhere, Category="Node")
95 uint8 bLeaf : 1 = false;
96 UPROPERTY(VisibleAnywhere, Category="Node")
97 uint8 bDirtyNode : 1 = false;
98
100};
101
102// TODO: Disabling C4996 due to MSVC 14.30 bug
103#pragma warning(disable : 4996)
105#pragma warning(default : 4996)
106
107USTRUCT()
109{
111
112 UPROPERTY(VisibleAnywhere, Category="Leaf")
113 int32 ParticleIndex = INDEX_NONE;
114
116 UPROPERTY(VisibleAnywhere, Category="Leaf")
118
120 //UPROPERTY(VisibleAnywhere, Category="Leaf")
121 FBox ActualBounds = FBox(ForceInitToZero);
122
124};
125
126// TODO: Disabling C4996 due to MSVC 14.30 bug
127#pragma warning(disable : 4996)
129#pragma warning(default : 4996)
130
131USTRUCT(DisplayName="AABB Tree Leaf")
133{
135
136 UPROPERTY(VisibleAnywhere, Category="Leaf")
138
139 UPROPERTY(VisibleAnywhere, Category="Leaf")
141
143};
144
145// TODO: Disabling C4996 due to MSVC 14.30 bug
146#pragma warning(disable : 4996)
148#pragma warning(default : 4996)
149
150USTRUCT()
157
158USTRUCT(DisplayName="AABB Tree Data")
160{
162
164
165 UPROPERTY(VisibleAnywhere, Category="Tree Data")
166 int32 RootNodeIndex = INDEX_NONE;
167
168 UPROPERTY(VisibleAnywhere, Category="Tree Data")
169 int32 TreeDepth = INDEX_NONE;
170
171 UPROPERTY(VisibleAnywhere, Category="Tree Data")
172 int32 NodesNum = INDEX_NONE;
173
174 UPROPERTY(VisibleAnywhere, Category="Tree Data")
175 int32 LeavesNum = INDEX_NONE;
176
177 UPROPERTY(VisibleAnywhere, Category="Tree Settings")
178 bool bDynamicTree = false;
179
180 UPROPERTY(VisibleAnywhere, Category="Tree Settings")
181 int32 MaxChildrenInLeaf = INDEX_NONE;
182
183 UPROPERTY(VisibleAnywhere, Category="Tree Settings")
184 int32 MaxTreeDepth = INDEX_NONE;
185
186 UPROPERTY(VisibleAnywhere, Category="Tree Settings")
187 double MaxPayloadBounds = -1.0;
188
190
192
194
196
198 int32 GetCorrectedRootNodeIndex() const { return bDynamicTree ? RootNodeIndex : 0;};
199};
200
201// TODO: Disabling C4996 due to MSVC 14.30 bug
202#pragma warning(disable : 4996)
204#pragma warning(default : 4996)
EChaosVDAccelerationStructureType
Definition ChaosVDAccelerationStructureDataWrappers.h:21
EChaosVDAABBTreeNodeFlags
Definition ChaosVDAccelerationStructureDataWrappers.h:11
#define CVD_IMPLEMENT_SERIALIZER(Type)
Definition ChaosVDDataSerializationMacros.h:30
@ INDEX_NONE
Definition CoreMiscDefines.h:150
EForceInit
Definition CoreMiscDefines.h:154
@ ForceInitToZero
Definition CoreMiscDefines.h:156
@ ForceInit
Definition CoreMiscDefines.h:155
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
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
UE::Math::TBox< double > FBox
Definition MathFwd.h:55
#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
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
@ false
Definition radaudio_common.h:23
Definition ChaosVDAccelerationStructureDataWrappers.h:160
Definition ChaosVDAccelerationStructureDataWrappers.h:133
Definition ChaosVDAccelerationStructureDataWrappers.h:85
Definition ChaosVDAccelerationStructureDataWrappers.h:109
Definition ChaosVDAccelerationStructureDataWrappers.h:31
Definition ChaosVDAccelerationStructureDataWrappers.h:152
Definition ChaosVDAccelerationStructureDataWrappers.h:43
Definition ChaosVDAccelerationStructureDataWrappers.h:65
Definition ChaosVDParticleDataWrapper.h:76