UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosVDTraceMacros.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#if WITH_CHAOS_VISUAL_DEBUGGER
6
7
#ifndef CVD_DEFINE_TRACE_VECTOR
8
#define CVD_DEFINE_TRACE_VECTOR(Type, Name) \
9
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##X) \
10
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##Y) \
11
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##Z)
12
#endif
13
14
#ifndef CVD_DEFINE_TRACE_ROTATOR
15
#define CVD_DEFINE_TRACE_ROTATOR(Type, Name) \
16
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##X) \
17
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##Y) \
18
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##Z) \
19
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##W)
20
#endif
21
22
#ifndef CVD_TRACE_VECTOR_ON_EVENT
23
#define CVD_TRACE_VECTOR_ON_EVENT(EventName, Name, Vector) \
24
EventName.Name##X(Vector.X) \
25
<< EventName.Name##Y(Vector.Y) \
26
<< EventName.Name##Z(Vector.Z)
27
#endif
28
29
#ifndef CVD_TRACE_ROTATOR_ON_EVENT
30
#define CVD_TRACE_ROTATOR_ON_EVENT(EventName, Name, Rotator) \
31
EventName.Name##X(Rotator.X) \
32
<< EventName.Name##Y(Rotator.Y) \
33
<< EventName.Name##Z(Rotator.Z) \
34
<< EventName.Name##W(Rotator.W)
35
#endif
36
37
#ifndef CVD_TRACE_PARTICLE
38
#define CVD_TRACE_PARTICLE(ParticleHandle) \
39
FChaosVisualDebuggerTrace::TraceParticle(ParticleHandle);
40
#endif
41
42
#ifndef CVD_TRACE_PARTICLES
43
#define CVD_TRACE_PARTICLES(ParticleHandles) \
44
FChaosVisualDebuggerTrace::TraceParticles(ParticleHandles);
45
#endif
46
47
#ifndef CVD_TRACE_PARTICLES_VIEW
48
#define CVD_TRACE_PARTICLES_VIEW(ParticleHandlesView) \
49
FChaosVisualDebuggerTrace::TraceParticlesView(ParticleHandlesView);
50
#endif
51
52
#ifndef CVD_TRACE_PARTICLES_SOA
53
#define CVD_TRACE_PARTICLES_SOA(ParticleSoA, ...) \
54
FChaosVisualDebuggerTrace::TraceParticlesSoA(ParticleSoA, ##__VA_ARGS__);
55
#endif
56
57
#ifndef CVD_TRACE_SOLVER_START_FRAME
58
#define CVD_TRACE_SOLVER_START_FRAME(SolverType, SolverRef) \
59
FChaosVDContext StartContextData; \
60
FChaosVisualDebuggerTrace::GetCVDContext<SolverType>(SolverRef, StartContextData); \
61
FChaosVisualDebuggerTrace::TraceSolverFrameStart(StartContextData, FChaosVisualDebuggerTrace::GetDebugName<SolverType>(SolverRef), SolverRef.GetCVDFrameNumber());
62
#endif
63
64
#ifndef CVD_TRACE_SOLVER_END_FRAME
65
#define CVD_TRACE_SOLVER_END_FRAME(SolverType, SolverRef) \
66
FChaosVDContext EndContextData; \
67
FChaosVisualDebuggerTrace::GetCVDContext<SolverType>(SolverRef, EndContextData); \
68
FChaosVisualDebuggerTrace::TraceSolverFrameEnd(EndContextData);
69
#endif
70
71
#ifndef CVD_SCOPE_TRACE_SOLVER_FRAME
72
#define CVD_SCOPE_TRACE_SOLVER_FRAME(SolverType, SolverRef) \
73
FChaosVDScopeSolverFrame<SolverType> ScopeSolverFrame(SolverRef);
74
#endif
75
76
#ifndef CVD_TRACE_SOLVER_STEP_START
77
#define CVD_TRACE_SOLVER_STEP_START(StepName) \
78
FChaosVisualDebuggerTrace::TraceSolverStepStart(StepName);
79
#endif
80
81
#ifndef CVD_TRACE_SOLVER_STEP_END
82
#define CVD_TRACE_SOLVER_STEP_END() \
83
FChaosVisualDebuggerTrace::TraceSolverStepEnd();
84
#endif
85
86
#ifndef CVD_SCOPE_TRACE_SOLVER_STEP
87
#define CVD_SCOPE_TRACE_SOLVER_STEP(DataChannel, StepName) \
88
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
89
FChaosVDScopeSolverStep ScopeSolverStep(StepName)
90
#endif
91
92
#ifndef CVD_TRACE_BINARY_DATA
93
#define CVD_TRACE_BINARY_DATA(InData, TypeName, ...) \
94
FChaosVisualDebuggerTrace::TraceBinaryData(InData, TypeName, ##__VA_ARGS__);
95
#endif
96
97
#ifndef CVD_TRACE_SOLVER_SIMULATION_SPACE
98
#define CVD_TRACE_SOLVER_SIMULATION_SPACE(InSimulationSpace) \
99
FChaosVisualDebuggerTrace::TraceSolverSimulationSpace(InSimulationSpace);
100
#endif
101
102
#ifndef CVD_TRACE_PARTICLE_DESTROYED
103
#define CVD_TRACE_PARTICLE_DESTROYED(DestroyedParticleHandle) \
104
FChaosVisualDebuggerTrace::TraceParticleDestroyed(DestroyedParticleHandle);
105
#endif
106
107
#ifndef CVD_TRACE_MID_PHASE
108
#define CVD_TRACE_MID_PHASE(MidPhase) \
109
FChaosVisualDebuggerTrace::TraceMidPhase(MidPhase);
110
#endif
111
112
#ifndef CVD_TRACE_COLLISION_CONSTRAINT
113
#define CVD_TRACE_COLLISION_CONSTRAINT(Constraint) \
114
FChaosVisualDebuggerTrace::TraceCollisionConstraint(Constraint);
115
#endif
116
117
#ifndef CVD_TRACE_COLLISION_CONSTRAINT_VIEW
118
#define CVD_TRACE_COLLISION_CONSTRAINT_VIEW(ConstraintView) \
119
FChaosVisualDebuggerTrace::TraceCollisionConstraintView(ConstraintView);
120
#endif
121
122
#ifndef CVD_TRACE_STEP_MID_PHASES_FROM_COLLISION_CONSTRAINTS
123
#define CVD_TRACE_STEP_MID_PHASES_FROM_COLLISION_CONSTRAINTS(DataChannel, CollisionConstraints) \
124
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
125
FChaosVisualDebuggerTrace::TraceMidPhasesFromCollisionConstraints(CollisionConstraints);
126
#endif
127
128
#ifndef CVD_TRACE_INVALIDATE_CACHED_GEOMETRY
129
#define CVD_TRACE_INVALIDATE_CACHED_GEOMETRY(ImplicitObjectPtr) \
130
FChaosVisualDebuggerTrace::InvalidateGeometryFromCache(ImplicitObjectPtr);
131
#endif
132
133
#ifndef CVD_TRACE_INVALIDATE_CACHED_PARTICLE_METADATA
134
#define CVD_TRACE_INVALIDATE_CACHED_PARTICLE_METADATA(ParticleHandlePtr) \
135
FChaosVisualDebuggerTrace::InvalidateParticleMetadataFromCache(ParticleHandlePtr);
136
#endif
137
138
#ifndef CVD_TRACE_SCOPED_SCENE_QUERY
139
#define CVD_TRACE_SCENE_QUERY_START(InputGeometry, GeometryOrientation, Start, End, TraceChannel, Params, ResponseParams, ObjectParams, QueryType, QueryMode, SolverID, bIsRetry) \
140
FChaosVisualDebuggerTrace::TraceSceneQueryStart(InputGeometry, GeometryOrientation, Start, End, TraceChannel, Params, ResponseParams, ObjectParams, QueryType, QueryMode, SolverID, bIsRetry);
141
#endif
142
143
#ifndef CVD_TRACE_SCOPED_SCENE_QUERY_VISIT
144
#define CVD_TRACE_SCOPED_SCENE_QUERY_VISIT(InQueryVisitData) \
145
FChaosVDScopeSceneQueryVisit CVDQueryVisit(InQueryVisitData);
146
#endif
147
148
#ifndef CVD_TRACE_SCENE_QUERY_VISIT
149
#define CVD_TRACE_SCENE_QUERY_VISIT(InQueryVisitData) \
150
FChaosVisualDebuggerTrace::TraceSceneQueryVisit(InQueryVisitData);
151
#endif
152
153
#ifndef CVD_TRACE_JOINT_CONSTRAINTS
154
#define CVD_TRACE_JOINT_CONSTRAINTS(DataChannel, InJointConstraints) \
155
{ \
156
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
157
FChaosVisualDebuggerTrace::TraceJointsConstraints(InJointConstraints); \
158
}
159
#endif
160
161
#ifndef CVD_TRACE_CHARACTER_GROUND_CONSTRAINTS
162
#define CVD_TRACE_CHARACTER_GROUND_CONSTRAINTS(DataChannel, InConstraints) \
163
{ \
164
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
165
FChaosVisualDebuggerTrace::TraceCharacterGroundConstraints(InConstraints); \
166
}
167
#endif
168
169
#ifndef CVD_TRACE_CONSTRAINTS_CONTAINER
170
#define CVD_TRACE_CONSTRAINTS_CONTAINER(ContainerView) \
171
FChaosVisualDebuggerTrace::TraceConstraintsContainer(ContainerView);
172
#endif
173
174
#ifndef CVD_TRACE_ACCELERATION_STRUCTURES
175
#define CVD_TRACE_ACCELERATION_STRUCTURES(AccelerationStructuresCollections, SolverType, SolverRef, DataChannel) \
176
{ \
177
FChaosVDContext StartAccelerationStrutureCVDContextData; \
178
FChaosVisualDebuggerTrace::GetCVDContext<SolverType>(SolverRef, StartAccelerationStrutureCVDContextData); \
179
CVD_SCOPE_CONTEXT(StartAccelerationStrutureCVDContextData); \
180
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
181
FChaosVisualDebuggerTrace::TraceSceneAccelerationStructures(AccelerationStructuresCollections); \
182
}
183
#endif
184
185
#ifndef CVD_TRACE_NETWORK_TICK_OFFSET
186
#define CVD_TRACE_NETWORK_TICK_OFFSET(TickOffset, SolverID) \
187
{ \
188
FChaosVisualDebuggerTrace::TraceNetworkTickOffset(TickOffset, SolverID); \
189
}
190
#endif
191
192
#ifndef CVD_TRACE_GET_SOLVER_ID_FROM_WORLD
193
#define CVD_TRACE_GET_SOLVER_ID_FROM_WORLD(World) \
194
FChaosVisualDebuggerTrace::GetSolverIDFromWorld(World)
195
#endif
196
197
#ifndef CVD_TRACE_DEBUG_DRAW_BOX
198
#define CVD_TRACE_DEBUG_DRAW_BOX(Box, ...) \
199
FChaosVisualDebuggerTrace::TraceDebugDrawBox(Box, ##__VA_ARGS__)
200
#endif
201
202
#ifndef CVD_TRACE_DEBUG_DRAW_LINE
203
#define CVD_TRACE_DEBUG_DRAW_LINE(StartLocation, EndLocation, ...) \
204
FChaosVisualDebuggerTrace::TraceDebugDrawLine(StartLocation, EndLocation, ##__VA_ARGS__)
205
#endif
206
207
#ifndef CVD_TRACE_DEBUG_DRAW_VECTOR
208
#define CVD_TRACE_DEBUG_DRAW_VECTOR(StartLocation, Vector, ...) \
209
FChaosVisualDebuggerTrace::TraceDebugDrawVector(StartLocation, Vector, ##__VA_ARGS__)
210
#endif
211
212
#ifndef CVD_TRACE_DEBUG_DRAW_SPHERE
213
#define CVD_TRACE_DEBUG_DRAW_SPHERE(Center, Radius, ...) \
214
FChaosVisualDebuggerTrace::TraceDebugDrawSphere(Center, Radius, ##__VA_ARGS__)
215
#endif
216
217
#ifndef CVD_TRACE_DEBUG_DRAW_IMPLICIT_OBJECT
218
#define CVD_TRACE_DEBUG_DRAW_IMPLICIT_OBJECT(ImplicitObject, ParentTransform, ...) \
219
FChaosVisualDebuggerTrace::TraceDebugDrawImplicitObject(ImplicitObject, ParentTransform, ##__VA_ARGS__)
220
#endif
221
222
#ifndef CVD_SET_RELEVANCY_VOLUME
223
#define CVD_SET_RELEVANCY_VOLUME(VolumeBox) \
224
FChaosVisualDebuggerTrace::SetTraceRelevancyVolume(VolumeBox)
225
#endif
226
227
#else
// WITH_CHAOS_VISUAL_DEBUGGER
228
229
#ifndef CVD_TRACE_PARTICLE
230
#define CVD_TRACE_PARTICLE(ParticleHandle)
231
#endif
232
233
#ifndef CVD_TRACE_PARTICLES
234
#define CVD_TRACE_PARTICLES(ParticleHandles)
235
#endif
236
237
#ifndef CVD_TRACE_SOLVER_START_FRAME
238
#define CVD_TRACE_SOLVER_START_FRAME(SolverType, SolverRef)
239
#endif
240
241
#ifndef CVD_TRACE_SOLVER_END_FRAME
242
#define CVD_TRACE_SOLVER_END_FRAME(SolverType, SolverRef)
243
#endif
244
245
#ifndef CVD_SCOPE_TRACE_SOLVER_FRAME
246
#define CVD_SCOPE_TRACE_SOLVER_FRAME(SolverType, SolverRef)
247
#endif
248
249
#ifndef CVD_TRACE_SOLVER_STEP_START
250
#define CVD_TRACE_SOLVER_STEP_START(StepName)
251
#endif
252
253
#ifndef CVD_TRACE_SOLVER_STEP_END
254
#define CVD_TRACE_SOLVER_STEP_END()
255
#endif
256
257
#ifndef CVD_SCOPE_TRACE_SOLVER_STEP
258
#define CVD_SCOPE_TRACE_SOLVER_STEP(DataChannel, StepName)
259
#endif
260
261
#ifndef CVD_TRACE_BINARY_DATA
262
#define CVD_TRACE_BINARY_DATA(InData, TypeName, ...)
263
#endif
264
265
#ifndef CVD_TRACE_SOLVER_SIMULATION_SPACE
266
#define CVD_TRACE_SOLVER_SIMULATION_SPACE(InSimulationSpace)
267
#endif
268
269
#ifndef CVD_TRACE_PARTICLES_SOA
270
#define CVD_TRACE_PARTICLES_SOA(ParticleSoA, ...)
271
#endif
272
273
#ifndef CVD_TRACE_PARTICLE_DESTROYED
274
#define CVD_TRACE_PARTICLE_DESTROYED(DestroyedParticleHandle)
275
#endif
276
277
#ifndef CVD_TRACE_MID_PHASE
278
#define CVD_TRACE_MID_PHASE(MidPhase)
279
#endif
280
#ifndef CVD_TRACE_COLLISION_CONSTRAINT
281
#define CVD_TRACE_COLLISION_CONSTRAINT(Constraint)
282
#endif
283
#ifndef CVD_TRACE_COLLISION_CONSTRAINT_VIEW
284
#define CVD_TRACE_COLLISION_CONSTRAINT_VIEW(ConstraintView)
285
#endif
286
287
#ifndef CVD_TRACE_PARTICLES_VIEW
288
#define CVD_TRACE_PARTICLES_VIEW(ParticleHandlesView)
289
#endif
290
291
#ifndef CVD_TRACE_STEP_MID_PHASES_FROM_COLLISION_CONSTRAINTS
292
#define CVD_TRACE_STEP_MID_PHASES_FROM_COLLISION_CONSTRAINTS(DataChannel, CollisionConstraints)
293
#endif
294
295
#ifndef CVD_TRACE_INVALIDATE_CACHED_GEOMETRY
296
#define CVD_TRACE_INVALIDATE_CACHED_GEOMETRY(ImplicitObjectPtr)
297
#endif
298
299
#ifndef CVD_TRACE_INVALIDATE_CACHED_PARTICLE_METADATA
300
#define CVD_TRACE_INVALIDATE_CACHED_PARTICLE_METADATA(ParticleHandlePtr)
301
#endif
302
303
#ifndef CVD_TRACE_SCOPED_SCENE_QUERY
304
#define CVD_TRACE_SCENE_QUERY_START(InputGeometry, GeometryOrientation, Start, End, TraceChannel, Params, ResponseParams, ObjectParams, QueryType, QueryMode, SolverID)
305
#endif
306
307
#ifndef CVD_TRACE_SCOPED_SCENE_QUERY_VISIT
308
#define CVD_TRACE_SCOPED_SCENE_QUERY_VISIT(InQueryVisitData)
309
#endif
310
311
#ifndef CVD_TRACE_SCENE_QUERY_VISIT
312
#define CVD_TRACE_SCENE_QUERY_VISIT(InQueryVisitData)
313
#endif
314
315
#ifndef CVD_TRACE_JOINT_CONSTRAINTS
316
#define CVD_TRACE_JOINT_CONSTRAINTS(DataChannel, InJointConstraints)
317
#endif
318
319
#ifndef CVD_TRACE_CHARACTER_GROUND_CONSTRAINTS
320
#define CVD_TRACE_CHARACTER_GROUND_CONSTRAINTS(DataChannel, InConstraints)
321
#endif
322
323
#ifndef CVD_TRACE_CONSTRAINTS_CONTAINER
324
#define CVD_TRACE_CONSTRAINTS_CONTAINER(ContainerView)
325
#endif
326
327
#ifndef CVD_TRACE_ACCELERATION_STRUCTURES
328
#define CVD_TRACE_ACCELERATION_STRUCTURES(AccelerationStructuresCollections, SolverType, SolverRef, DataChannel)
329
#endif
330
331
#ifndef CVD_TRACE_NETWORK_TICK_OFFSET
332
#define CVD_TRACE_NETWORK_TICK_OFFSET(TickOffset, SolverID)
333
#endif
334
335
#ifndef CVD_TRACE_GET_SOLVER_ID_FROM_WORLD
336
#define CVD_TRACE_GET_SOLVER_ID_FROM_WORLD(World)
337
#endif
338
339
#ifndef CVD_TRACE_DEBUG_DRAW_BOX
340
#define CVD_TRACE_DEBUG_DRAW_BOX(Box, ...)
341
#endif
342
343
#ifndef CVD_TRACE_DEBUG_DRAW_LINE
344
#define CVD_TRACE_DEBUG_DRAW_LINE(StartLocation, EndLocation, ...)
345
#endif
346
347
#ifndef CVD_TRACE_DEBUG_DRAW_VECTOR
348
#define CVD_TRACE_DEBUG_DRAW_VECTOR(StartLocation, Vector, ...)
349
#endif
350
351
#ifndef CVD_TRACE_DEBUG_DRAW_SPHERE
352
#define CVD_TRACE_DEBUG_DRAW_SPHERE(...)
353
#endif
354
355
#ifndef CVD_TRACE_DEBUG_DRAW_IMPLICIT_OBJECT
356
#define CVD_TRACE_DEBUG_DRAW_IMPLICIT_OBJECT(ImplicitObject, ParentTransform, ...)
357
#endif
358
359
#ifndef CVD_SET_RELEVANCY_VOLUME
360
#define CVD_SET_RELEVANCY_VOLUME(VolumeBox)
361
#endif
362
363
#endif
// WITH_CHAOS_VISUAL_DEBUGGER
Engine
Source
Runtime
Experimental
Chaos
Public
ChaosVisualDebugger
ChaosVDTraceMacros.h
Generated by
1.9.8