363 lines
12 KiB
C
363 lines
12 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#if WITH_CHAOS_VISUAL_DEBUGGER
|
|
|
|
#ifndef CVD_DEFINE_TRACE_VECTOR
|
|
#define CVD_DEFINE_TRACE_VECTOR(Type, Name) \
|
|
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##X) \
|
|
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##Y) \
|
|
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##Z)
|
|
#endif
|
|
|
|
#ifndef CVD_DEFINE_TRACE_ROTATOR
|
|
#define CVD_DEFINE_TRACE_ROTATOR(Type, Name) \
|
|
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##X) \
|
|
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##Y) \
|
|
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##Z) \
|
|
UE_TRACE_MINIMAL_EVENT_FIELD(Type, Name##W)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_VECTOR_ON_EVENT
|
|
#define CVD_TRACE_VECTOR_ON_EVENT(EventName, Name, Vector) \
|
|
EventName.Name##X(Vector.X) \
|
|
<< EventName.Name##Y(Vector.Y) \
|
|
<< EventName.Name##Z(Vector.Z)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_ROTATOR_ON_EVENT
|
|
#define CVD_TRACE_ROTATOR_ON_EVENT(EventName, Name, Rotator) \
|
|
EventName.Name##X(Rotator.X) \
|
|
<< EventName.Name##Y(Rotator.Y) \
|
|
<< EventName.Name##Z(Rotator.Z) \
|
|
<< EventName.Name##W(Rotator.W)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_PARTICLE
|
|
#define CVD_TRACE_PARTICLE(ParticleHandle) \
|
|
FChaosVisualDebuggerTrace::TraceParticle(ParticleHandle);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_PARTICLES
|
|
#define CVD_TRACE_PARTICLES(ParticleHandles) \
|
|
FChaosVisualDebuggerTrace::TraceParticles(ParticleHandles);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_PARTICLES_VIEW
|
|
#define CVD_TRACE_PARTICLES_VIEW(ParticleHandlesView) \
|
|
FChaosVisualDebuggerTrace::TraceParticlesView(ParticleHandlesView);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_PARTICLES_SOA
|
|
#define CVD_TRACE_PARTICLES_SOA(ParticleSoA, ...) \
|
|
FChaosVisualDebuggerTrace::TraceParticlesSoA(ParticleSoA, ##__VA_ARGS__);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_START_FRAME
|
|
#define CVD_TRACE_SOLVER_START_FRAME(SolverType, SolverRef) \
|
|
FChaosVDContext StartContextData; \
|
|
FChaosVisualDebuggerTrace::GetCVDContext<SolverType>(SolverRef, StartContextData); \
|
|
FChaosVisualDebuggerTrace::TraceSolverFrameStart(StartContextData, FChaosVisualDebuggerTrace::GetDebugName<SolverType>(SolverRef), SolverRef.GetCVDFrameNumber());
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_END_FRAME
|
|
#define CVD_TRACE_SOLVER_END_FRAME(SolverType, SolverRef) \
|
|
FChaosVDContext EndContextData; \
|
|
FChaosVisualDebuggerTrace::GetCVDContext<SolverType>(SolverRef, EndContextData); \
|
|
FChaosVisualDebuggerTrace::TraceSolverFrameEnd(EndContextData);
|
|
#endif
|
|
|
|
#ifndef CVD_SCOPE_TRACE_SOLVER_FRAME
|
|
#define CVD_SCOPE_TRACE_SOLVER_FRAME(SolverType, SolverRef) \
|
|
FChaosVDScopeSolverFrame<SolverType> ScopeSolverFrame(SolverRef);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_STEP_START
|
|
#define CVD_TRACE_SOLVER_STEP_START(StepName) \
|
|
FChaosVisualDebuggerTrace::TraceSolverStepStart(StepName);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_STEP_END
|
|
#define CVD_TRACE_SOLVER_STEP_END() \
|
|
FChaosVisualDebuggerTrace::TraceSolverStepEnd();
|
|
#endif
|
|
|
|
#ifndef CVD_SCOPE_TRACE_SOLVER_STEP
|
|
#define CVD_SCOPE_TRACE_SOLVER_STEP(DataChannel, StepName) \
|
|
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
|
|
FChaosVDScopeSolverStep ScopeSolverStep(StepName)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_BINARY_DATA
|
|
#define CVD_TRACE_BINARY_DATA(InData, TypeName, ...) \
|
|
FChaosVisualDebuggerTrace::TraceBinaryData(InData, TypeName, ##__VA_ARGS__);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_SIMULATION_SPACE
|
|
#define CVD_TRACE_SOLVER_SIMULATION_SPACE(InSimulationSpace) \
|
|
FChaosVisualDebuggerTrace::TraceSolverSimulationSpace(InSimulationSpace);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_PARTICLE_DESTROYED
|
|
#define CVD_TRACE_PARTICLE_DESTROYED(DestroyedParticleHandle) \
|
|
FChaosVisualDebuggerTrace::TraceParticleDestroyed(DestroyedParticleHandle);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_MID_PHASE
|
|
#define CVD_TRACE_MID_PHASE(MidPhase) \
|
|
FChaosVisualDebuggerTrace::TraceMidPhase(MidPhase);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_COLLISION_CONSTRAINT
|
|
#define CVD_TRACE_COLLISION_CONSTRAINT(Constraint) \
|
|
FChaosVisualDebuggerTrace::TraceCollisionConstraint(Constraint);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_COLLISION_CONSTRAINT_VIEW
|
|
#define CVD_TRACE_COLLISION_CONSTRAINT_VIEW(ConstraintView) \
|
|
FChaosVisualDebuggerTrace::TraceCollisionConstraintView(ConstraintView);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_STEP_MID_PHASES_FROM_COLLISION_CONSTRAINTS
|
|
#define CVD_TRACE_STEP_MID_PHASES_FROM_COLLISION_CONSTRAINTS(DataChannel, CollisionConstraints) \
|
|
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
|
|
FChaosVisualDebuggerTrace::TraceMidPhasesFromCollisionConstraints(CollisionConstraints);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_INVALIDATE_CACHED_GEOMETRY
|
|
#define CVD_TRACE_INVALIDATE_CACHED_GEOMETRY(ImplicitObjectPtr) \
|
|
FChaosVisualDebuggerTrace::InvalidateGeometryFromCache(ImplicitObjectPtr);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_INVALIDATE_CACHED_PARTICLE_METADATA
|
|
#define CVD_TRACE_INVALIDATE_CACHED_PARTICLE_METADATA(ParticleHandlePtr) \
|
|
FChaosVisualDebuggerTrace::InvalidateParticleMetadataFromCache(ParticleHandlePtr);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SCOPED_SCENE_QUERY
|
|
#define CVD_TRACE_SCENE_QUERY_START(InputGeometry, GeometryOrientation, Start, End, TraceChannel, Params, ResponseParams, ObjectParams, QueryType, QueryMode, SolverID, bIsRetry) \
|
|
FChaosVisualDebuggerTrace::TraceSceneQueryStart(InputGeometry, GeometryOrientation, Start, End, TraceChannel, Params, ResponseParams, ObjectParams, QueryType, QueryMode, SolverID, bIsRetry);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SCOPED_SCENE_QUERY_VISIT
|
|
#define CVD_TRACE_SCOPED_SCENE_QUERY_VISIT(InQueryVisitData) \
|
|
FChaosVDScopeSceneQueryVisit CVDQueryVisit(InQueryVisitData);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SCENE_QUERY_VISIT
|
|
#define CVD_TRACE_SCENE_QUERY_VISIT(InQueryVisitData) \
|
|
FChaosVisualDebuggerTrace::TraceSceneQueryVisit(InQueryVisitData);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_JOINT_CONSTRAINTS
|
|
#define CVD_TRACE_JOINT_CONSTRAINTS(DataChannel, InJointConstraints) \
|
|
{ \
|
|
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
|
|
FChaosVisualDebuggerTrace::TraceJointsConstraints(InJointConstraints); \
|
|
}
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_CHARACTER_GROUND_CONSTRAINTS
|
|
#define CVD_TRACE_CHARACTER_GROUND_CONSTRAINTS(DataChannel, InConstraints) \
|
|
{ \
|
|
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
|
|
FChaosVisualDebuggerTrace::TraceCharacterGroundConstraints(InConstraints); \
|
|
}
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_CONSTRAINTS_CONTAINER
|
|
#define CVD_TRACE_CONSTRAINTS_CONTAINER(ContainerView) \
|
|
FChaosVisualDebuggerTrace::TraceConstraintsContainer(ContainerView);
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_ACCELERATION_STRUCTURES
|
|
#define CVD_TRACE_ACCELERATION_STRUCTURES(AccelerationStructuresCollections, SolverType, SolverRef, DataChannel) \
|
|
{ \
|
|
FChaosVDContext StartAccelerationStrutureCVDContextData; \
|
|
FChaosVisualDebuggerTrace::GetCVDContext<SolverType>(SolverRef, StartAccelerationStrutureCVDContextData); \
|
|
CVD_SCOPE_CONTEXT(StartAccelerationStrutureCVDContextData); \
|
|
CVD_SCOPED_DATA_CHANNEL_OVERRIDE(DataChannel) \
|
|
FChaosVisualDebuggerTrace::TraceSceneAccelerationStructures(AccelerationStructuresCollections); \
|
|
}
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_NETWORK_TICK_OFFSET
|
|
#define CVD_TRACE_NETWORK_TICK_OFFSET(TickOffset, SolverID) \
|
|
{ \
|
|
FChaosVisualDebuggerTrace::TraceNetworkTickOffset(TickOffset, SolverID); \
|
|
}
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_GET_SOLVER_ID_FROM_WORLD
|
|
#define CVD_TRACE_GET_SOLVER_ID_FROM_WORLD(World) \
|
|
FChaosVisualDebuggerTrace::GetSolverIDFromWorld(World)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_BOX
|
|
#define CVD_TRACE_DEBUG_DRAW_BOX(Box, ...) \
|
|
FChaosVisualDebuggerTrace::TraceDebugDrawBox(Box, ##__VA_ARGS__)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_LINE
|
|
#define CVD_TRACE_DEBUG_DRAW_LINE(StartLocation, EndLocation, ...) \
|
|
FChaosVisualDebuggerTrace::TraceDebugDrawLine(StartLocation, EndLocation, ##__VA_ARGS__)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_VECTOR
|
|
#define CVD_TRACE_DEBUG_DRAW_VECTOR(StartLocation, Vector, ...) \
|
|
FChaosVisualDebuggerTrace::TraceDebugDrawVector(StartLocation, Vector, ##__VA_ARGS__)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_SPHERE
|
|
#define CVD_TRACE_DEBUG_DRAW_SPHERE(Center, Radius, ...) \
|
|
FChaosVisualDebuggerTrace::TraceDebugDrawSphere(Center, Radius, ##__VA_ARGS__)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_IMPLICIT_OBJECT
|
|
#define CVD_TRACE_DEBUG_DRAW_IMPLICIT_OBJECT(ImplicitObject, ParentTransform, ...) \
|
|
FChaosVisualDebuggerTrace::TraceDebugDrawImplicitObject(ImplicitObject, ParentTransform, ##__VA_ARGS__)
|
|
#endif
|
|
|
|
#ifndef CVD_SET_RELEVANCY_VOLUME
|
|
#define CVD_SET_RELEVANCY_VOLUME(VolumeBox) \
|
|
FChaosVisualDebuggerTrace::SetTraceRelevancyVolume(VolumeBox)
|
|
#endif
|
|
|
|
#else // WITH_CHAOS_VISUAL_DEBUGGER
|
|
|
|
#ifndef CVD_TRACE_PARTICLE
|
|
#define CVD_TRACE_PARTICLE(ParticleHandle)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_PARTICLES
|
|
#define CVD_TRACE_PARTICLES(ParticleHandles)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_START_FRAME
|
|
#define CVD_TRACE_SOLVER_START_FRAME(SolverType, SolverRef)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_END_FRAME
|
|
#define CVD_TRACE_SOLVER_END_FRAME(SolverType, SolverRef)
|
|
#endif
|
|
|
|
#ifndef CVD_SCOPE_TRACE_SOLVER_FRAME
|
|
#define CVD_SCOPE_TRACE_SOLVER_FRAME(SolverType, SolverRef)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_STEP_START
|
|
#define CVD_TRACE_SOLVER_STEP_START(StepName)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_STEP_END
|
|
#define CVD_TRACE_SOLVER_STEP_END()
|
|
#endif
|
|
|
|
#ifndef CVD_SCOPE_TRACE_SOLVER_STEP
|
|
#define CVD_SCOPE_TRACE_SOLVER_STEP(DataChannel, StepName)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_BINARY_DATA
|
|
#define CVD_TRACE_BINARY_DATA(InData, TypeName, ...)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SOLVER_SIMULATION_SPACE
|
|
#define CVD_TRACE_SOLVER_SIMULATION_SPACE(InSimulationSpace)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_PARTICLES_SOA
|
|
#define CVD_TRACE_PARTICLES_SOA(ParticleSoA, ...)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_PARTICLE_DESTROYED
|
|
#define CVD_TRACE_PARTICLE_DESTROYED(DestroyedParticleHandle)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_MID_PHASE
|
|
#define CVD_TRACE_MID_PHASE(MidPhase)
|
|
#endif
|
|
#ifndef CVD_TRACE_COLLISION_CONSTRAINT
|
|
#define CVD_TRACE_COLLISION_CONSTRAINT(Constraint)
|
|
#endif
|
|
#ifndef CVD_TRACE_COLLISION_CONSTRAINT_VIEW
|
|
#define CVD_TRACE_COLLISION_CONSTRAINT_VIEW(ConstraintView)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_PARTICLES_VIEW
|
|
#define CVD_TRACE_PARTICLES_VIEW(ParticleHandlesView)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_STEP_MID_PHASES_FROM_COLLISION_CONSTRAINTS
|
|
#define CVD_TRACE_STEP_MID_PHASES_FROM_COLLISION_CONSTRAINTS(DataChannel, CollisionConstraints)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_INVALIDATE_CACHED_GEOMETRY
|
|
#define CVD_TRACE_INVALIDATE_CACHED_GEOMETRY(ImplicitObjectPtr)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_INVALIDATE_CACHED_PARTICLE_METADATA
|
|
#define CVD_TRACE_INVALIDATE_CACHED_PARTICLE_METADATA(ParticleHandlePtr)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SCOPED_SCENE_QUERY
|
|
#define CVD_TRACE_SCENE_QUERY_START(InputGeometry, GeometryOrientation, Start, End, TraceChannel, Params, ResponseParams, ObjectParams, QueryType, QueryMode, SolverID)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SCOPED_SCENE_QUERY_VISIT
|
|
#define CVD_TRACE_SCOPED_SCENE_QUERY_VISIT(InQueryVisitData)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_SCENE_QUERY_VISIT
|
|
#define CVD_TRACE_SCENE_QUERY_VISIT(InQueryVisitData)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_JOINT_CONSTRAINTS
|
|
#define CVD_TRACE_JOINT_CONSTRAINTS(DataChannel, InJointConstraints)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_CHARACTER_GROUND_CONSTRAINTS
|
|
#define CVD_TRACE_CHARACTER_GROUND_CONSTRAINTS(DataChannel, InConstraints)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_CONSTRAINTS_CONTAINER
|
|
#define CVD_TRACE_CONSTRAINTS_CONTAINER(ContainerView)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_ACCELERATION_STRUCTURES
|
|
#define CVD_TRACE_ACCELERATION_STRUCTURES(AccelerationStructuresCollections, SolverType, SolverRef, DataChannel)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_NETWORK_TICK_OFFSET
|
|
#define CVD_TRACE_NETWORK_TICK_OFFSET(TickOffset, SolverID)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_GET_SOLVER_ID_FROM_WORLD
|
|
#define CVD_TRACE_GET_SOLVER_ID_FROM_WORLD(World)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_BOX
|
|
#define CVD_TRACE_DEBUG_DRAW_BOX(Box, ...)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_LINE
|
|
#define CVD_TRACE_DEBUG_DRAW_LINE(StartLocation, EndLocation, ...)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_VECTOR
|
|
#define CVD_TRACE_DEBUG_DRAW_VECTOR(StartLocation, Vector, ...)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_SPHERE
|
|
#define CVD_TRACE_DEBUG_DRAW_SPHERE(...)
|
|
#endif
|
|
|
|
#ifndef CVD_TRACE_DEBUG_DRAW_IMPLICIT_OBJECT
|
|
#define CVD_TRACE_DEBUG_DRAW_IMPLICIT_OBJECT(ImplicitObject, ParentTransform, ...)
|
|
#endif
|
|
|
|
#ifndef CVD_SET_RELEVANCY_VOLUME
|
|
#define CVD_SET_RELEVANCY_VOLUME(VolumeBox)
|
|
#endif
|
|
|
|
#endif // WITH_CHAOS_VISUAL_DEBUGGER
|