25#ifndef CHAOS_DEBUG_NAME
26#define CHAOS_DEBUG_NAME 0
32class AdvanceOneTimeStepTask;
47 struct FCollisionEventData;
51 template<
typename PayloadType,
typename HandlerType>
52 class TRawEventHandler;
54 class FAccelerationStructureHandle;
56 template <
typename TPayload,
typename T,
int d>
57 class ISpatialAcceleration;
59 template <
typename TPayload,
typename T,
int d>
60 class ISpatialAccelerationCollection;
63 class TArrayCollectionArray;
65 class FPBDRigidDirtyParticlesBufferAccessor;
106 virtual FString GetReferencerName()
const
108 return "FChaosScene";
192 template <
typename TSolver>
193 void SyncBodies(
TSolver* Solver);
200#if WITH_CHAOS_VISUAL_DEBUGGER
218 PHYSICSCORE_API void SetDebugDrawScene(
const ChaosDD::Private::FChaosDDScenePtr& CDDScene);
221 ChaosDD::Private::FChaosDDScenePtr CDDScene;
#define WITH_ENGINE
Definition Build.h:75
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
if(Failed) console_printf("Failed.\n")
Definition PBDRigidsSolver.h:84
Definition PhysicsSolverBase.h:313
Definition SingleParticlePhysicsProxy.h:58
Definition ISpatialAccelerationCollection.h:23
Definition ISpatialAcceleration.h:267
Definition ParticleHandle.h:2739
Definition SimCallbackObject.h:521
Definition ChaosScene.h:88
virtual float OnStartFrame(float InDeltaTime)
Definition ChaosScene.h:177
PHYSICSCORE_API bool AreAnyTasksPending() const
Definition ChaosScene.cpp:413
void SetNetworkDeltaTimeScale(float InDeltaTimeScale)
Definition ChaosScene.h:154
PHYSICSCORE_API const Chaos::ISpatialAcceleration< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * GetSpacialAcceleration() const
Definition ChaosScene.cpp:145
PHYSICSCORE_API void EndFrame()
Definition ChaosScene.cpp:500
PHYSICSCORE_API void KillSafeAsyncTasks()
Definition ChaosScene.cpp:395
PHYSICSCORE_API void UpdateActorInAccelerationStructure(const FPhysicsActorHandle &Actor)
Definition ChaosScene.cpp:206
UObject * Owner
Definition ChaosScene.h:184
PHYSICSCORE_API void WaitSolverTasks()
Definition ChaosScene.cpp:404
virtual PHYSICSCORE_API ~FChaosScene()
Definition ChaosScene.cpp:102
virtual PHYSICSCORE_API void OnSyncBodies(Chaos::FPhysicsSolverBase *Solver)
Definition ChaosScene.cpp:389
PHYSICSCORE_API void AddActorsToScene_AssumesLocked(TArray< FPhysicsActorHandle > &InHandles, const bool bImmediate=true)
Definition ChaosScene.cpp:280
PHYSICSCORE_API void BeginDestroy()
Definition ChaosScene.cpp:424
PHYSICSCORE_API void StartFrame()
Definition ChaosScene.cpp:363
DECLARE_MULTICAST_DELEGATE_OneParam(FOnPhysScenePostTick, FChaosScene *)
float MDeltaTime
Definition ChaosScene.h:181
float MNetworkDeltaTimeScale
Definition ChaosScene.h:182
PHYSICSCORE_API void UpdateActorsInAccelerationStructure(const TArrayView< FPhysicsActorHandle > &Actors)
Definition ChaosScene.cpp:236
Chaos::FPhysicsSolver * SceneSolver
Definition ChaosScene.h:165
FOnPhysScenePostTick OnPhysScenePostTick
Definition ChaosScene.h:145
PHYSICSCORE_API FGraphEventArray GetCompletionEvents()
Definition ChaosScene.cpp:588
Chaos::ISpatialAccelerationCollection< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * SolverAccelerationStructure
Definition ChaosScene.h:159
PHYSICSCORE_API void SetUpForFrame(const FVector *NewGrav, float InDeltaSeconds, float InMinPhysicsDeltaTime, float InMaxPhysicsDeltaTime, float InMaxSubstepDeltaTime, int32 InMaxSubsteps, bool bSubstepping)
Definition ChaosScene.cpp:331
Chaos::FPhysicsSolver * GetSolver() const
Definition ChaosScene.h:101
FChaosSolversModule * ChaosModule
Definition ChaosScene.h:162
PHYSICSCORE_API bool IsCompletionEventComplete() const
Definition ChaosScene.cpp:433
PHYSICSCORE_API void Flush()
Definition ChaosScene.cpp:165
PHYSICSCORE_API void RemoveActorFromAccelerationStructureImp(Chaos::FGeometryParticle *Particle)
Definition ChaosScene.cpp:195
float GetNetworkDeltaTimeScale() const
Definition ChaosScene.h:155
PHYSICSCORE_API void RemoveActorFromAccelerationStructure(FPhysicsActorHandle Actor)
Definition ChaosScene.cpp:189
PHYSICSCORE_API void CopySolverAccelerationStructure()
Definition ChaosScene.cpp:155
PHYSICSCORE_API void WaitPhysScenes()
Definition ChaosScene.cpp:579
Definition ChaosSolversModule.h:146
Definition GCObject.h:128
Definition NameTypes.h:617
Definition PerSolverFieldSystem.h:11
Definition UObjectGlobals.h:2492
Definition SkeletalMeshPhysicsProxy.h:117
Definition StaticMeshPhysicsProxy.h:28
Definition PhysicsProxyBase.h:97
Definition ArrayView.h:139
Definition SkeletalMeshComponent.h:307
FRealDouble FReal
Definition Real.h:22
EEventType
Definition EventManager.h:30
Definition ChaosInterfaceWrapper.h:30
Definition ChaosScene.h:76
virtual FName GetFNameForStatId() const override
Definition ChaosScene.cpp:320
virtual void OnPreSimulate_Internal() override
Definition ChaosScene.cpp:311
Definition ChaosScopedSceneLock.h:36
Definition ChaosSolversModule.h:120