7#include "Containers/Set.h"
15#ifndef CHAOS_VISUAL_DEBUGGER_ENABLED
16 #define CHAOS_VISUAL_DEBUGGER_ENABLED WITH_CHAOS_VISUAL_DEBUGGER
19#ifndef CHAOS_VISUAL_DEBUGGER_WITHOUT_TRACE
20 #define CHAOS_VISUAL_DEBUGGER_WITHOUT_TRACE 0
26#if WITH_CHAOS_VISUAL_DEBUGGER
38class FRigidClustering;
39class FAccelerationStructureHandle;
40class FCharacterGroundConstraintContainer;
41class FPBDConstraintContainer;
42class FPBDJointConstraints;
162 namespace VisualDebugger
164 class FChaosVDSerializableNameTable;
167 class FPBDCollisionConstraints;
168 class FPBDRigidsSOAs;
169 class FImplicitObject;
170 class FPhysicsSolverBase;
171 template <
typename T,
int d>
172 class TGeometryParticleHandles;
174 class FPBDCollisionConstraint;
175 class FParticlePairMidPhase;
177 template <
typename PayloadType,
typename T,
int d>
178 class ISpatialAccelerationCollection;
197 template<
typename TObjectID>
202 template<
typename ObjectType,
typename HashProducer>
205 if (ObjectPtr ==
nullptr)
226 template<
typename ObjectType>
229 if (Implicit ==
nullptr)
265 std::atomic<bool> bIsTracing;
292class FChaosVisualDebuggerTrace
321 template<
typename ParticleType>
375 UE_DEPRECATED(5.7,
"Use the TraceImplicitObject version that takes a ptr to the implicit object itself")
418 static CHAOS_API void TraceSceneQueryStart(const
Chaos::FImplicitObject*
InputGeometry, const
FQuat& GeometryOrientation, const
FVector& Start, const
FVector&
End,
ECollisionChannel TraceChannel,
FChaosVDCollisionQueryParams&& Params,
FChaosVDCollisionResponseParams&& ResponseParams,
FChaosVDCollisionObjectQueryParams&& ObjectParams,
EChaosVDSceneQueryType QueryType,
EChaosVDSceneQueryMode QueryMode,
int32 SolverID,
bool bIsRetry);
582 template<
typename WorldType>
686template <
typename ParticleType>
709template <
typename WorldType>
710int32 FChaosVisualDebuggerTrace::GetSolverIDFromWorld(WorldType*
World)
717 SolverID = GetSolverID(*Solver);
733#if CHAOS_SOLVER_DEBUG_NAME
736 return FString(
"COMPILED OUT");
785 template<
typename TDataToSerialize>
789 MemWriterAr.SetShouldSkipUpdateCustomVersion(
true);
794 template<
typename TDataToSerialize,
typename TArchive>
799 Ar.SetShouldSkipUpdateCustomVersion(
true);
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define CVD_SCOPE_CONTEXT(InContext)
Definition ChaosVDContextProvider.h:219
EChaosVDSceneQueryMode
Definition ChaosVDQueryDataWrappers.h:20
EChaosVDSceneQueryType
Definition ChaosVDQueryDataWrappers.h:11
#define CVD_TRACE_SOLVER_START_FRAME(SolverType, SolverRef)
Definition ChaosVDTraceMacros.h:238
#define CVD_TRACE_SOLVER_STEP_END()
Definition ChaosVDTraceMacros.h:254
#define CVD_TRACE_SCENE_QUERY_VISIT(InQueryVisitData)
Definition ChaosVDTraceMacros.h:312
#define CVD_TRACE_SOLVER_STEP_START(StepName)
Definition ChaosVDTraceMacros.h:250
#define CVD_TRACE_SOLVER_END_FRAME(SolverType, SolverRef)
Definition ChaosVDTraceMacros.h:242
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_RetVal_TwoParams(ReturnValueType, DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:63
ECollisionChannel
Definition EngineTypes.h:1088
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
UE::Math::TBox< double > FBox
Definition MathFwd.h:55
#define UE_TRACE_MINIMAL_EVENT_FIELD(FieldType, FieldName)
Definition Trace.h:463
#define UE_TRACE_MINIMAL_EVENT_BEGIN_EXTERN(LoggerName, EventName,...)
Definition Trace.h:462
#define UE_TRACE_MINIMAL_EVENT_END()
Definition Trace.h:465
#define UE_TRACE_MINIMAL_CHANNEL_EXTERN(ChannelName,...)
Definition Trace.h:475
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
Container class for all character ground constraints on the physics thread.
Definition CharacterGroundConstraintContainer.h:228
Definition ImplicitObject.h:111
A contact constraint.
Definition PBDCollisionConstraint.h:225
Definition PBDCollisionConstraints.h:49
Definition PBDJointConstraints.h:168
Definition PBDRigidsSOAs.h:269
Produce collisions for a particle pair A FParticlePairMidPhase object is created for every particle p...
Definition ParticlePairMidPhase.h:192
Definition PhysicsSolverBase.h:313
Definition PBDRigidClustering.h:56
Definition ParticleHandle.h:436
Definition ParticleHandle.h:2663
Definition PBDRigidParticles.h:22
Definition ParticleIterator.h:639
Definition ChaosModule.h:8
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
Definition PhysicsProxyBase.h:97
Definition ArrayView.h:139
Definition SharedPointer.h:153
Definition StripedMap.h:780
GeometryCollection::Facades::FMuscleActivationData Data
Definition MuscleActivationConstraints.h:15
Definition ChaosVDEngineEditorBridge.h:7
Definition ChaosVDDataWrapperUtils.cpp:19
Definition SkeletalMeshComponent.h:307
UE_TRACE_API bool IsTracing() UE_TRACE_IMPL(false)
WideString
Definition Trace.h:53
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition ChaosVDQueryDataWrappers.h:66
Definition ChaosVDQueryDataWrappers.h:129
Definition ChaosVDQueryDataWrappers.h:29
Definition ChaosVDImplicitObjectDataWrapper.h:14
Definition ChaosVDParticleDataWrapper.h:46
Definition ChaosVDQueryDataWrappers.h:366
Definition CollisionQueryParams.h:430
Definition CollisionQueryParams.h:43
Definition CollisionQueryParams.h:324
static bool PointBoxIntersection(const UE::Math::TVector< FReal > &Point, const UE::Math::TBox< FReal > &Box)
Definition Box.h:1030
static bool SphereAABBIntersection(const UE::Math::TVector< FReal > &SphereCenter, const FReal RadiusSquared, const UE::Math::TBox< FReal > &AABB)
Definition Box.h:1190
bool Intersect(const TBox< T > &Other) const
Definition Box.h:811
static TVector< double > Max(const TVector< double > &A, const TVector< double > &B)
Definition Vector.h:2506
static TVector< double > Min(const TVector< double > &A, const TVector< double > &B)
Definition Vector.h:2496