UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DebugSolverTasks.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "Chaos/Declares.h"
8
9#if CHAOS_DEBUG_SUBSTEP
10#include "Async/AsyncWork.h"
11
12namespace Chaos
13{
14class FPhysicsSolverBase;
18 class FDebugSolverTask final : public FNonAbandonableTask
19 {
20 friend class FAsyncTask<FDebugSolverTask>;
21
22 public:
23 FDebugSolverTask(TFunction<void()> InStepFunction, FDebugSubstep& InDebugSubstep);
25
27 void DoWork();
28
29 private:
30 FDebugSolverTask(const FDebugSolverTask&) = delete;
31 FDebugSolverTask& operator=(const FDebugSolverTask&) = delete;
32
33 FORCEINLINE TStatId GetStatId() const
34 {
36 }
37
38 private:
40 FDebugSubstep& DebugSubstep;
41 };
42
46 class FDebugSolverTasks final
47 {
48 public:
51
53 void Add(FPhysicsSolverBase* Solver);
54
56 void Remove(FPhysicsSolverBase* Solver);
57
59 void DebugStep(FPhysicsSolverBase* Solver, TFunction<void()> StepFunction);
60
62 void Shutdown();
63
64 private:
66 };
67} // namespace Chaos
68
69#else // #if CHAOS_DEBUG_SUBSTEP
70
71namespace Chaos
72{
73class FPhysicsSolverBase;
74
79 {
80 public:
83
84 void Add(FPhysicsSolverBase* /*Solver*/) {}
85 void Remove(FPhysicsSolverBase* /*Solver*/) {}
86
88
89 void Shutdown() {}
90 };
91} // namespace Chaos
92
93#endif // #if CHAOS_DEBUG_SUBSTEP #else
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define FORCEINLINE
Definition AndroidPlatform.h:140
#define RETURN_QUICK_DECLARE_CYCLE_STAT(StatId, GroupId)
Definition Stats.h:655
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition DebugSolverTasks.h:79
void Shutdown()
Definition DebugSolverTasks.h:89
FDebugSolverTasks()
Definition DebugSolverTasks.h:81
void Add(FPhysicsSolverBase *)
Definition DebugSolverTasks.h:84
~FDebugSolverTasks()
Definition DebugSolverTasks.h:82
void Remove(FPhysicsSolverBase *)
Definition DebugSolverTasks.h:85
FORCEINLINE void DebugStep(FPhysicsSolverBase *, TFunction< void()> StepFunction)
Definition DebugSolverTasks.h:87
Definition PhysicsSolverBase.h:313
Definition AsyncWork.h:585
Definition AsyncWork.h:663
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition SkeletalMeshComponent.h:307
@ Add
Definition PendingSpatialData.h:18
Definition LightweightStats.h:416