UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosVDEngineEditorBridge.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
#include "
Chaos/ChaosVDRemoteSessionsManager.h
"
5
6
namespace
Chaos::VD
7
{
8
class
ITraceDataRelayTransport
;
9
}
10
11
#if WITH_CHAOS_VISUAL_DEBUGGER
12
13
#include "
Chaos/ParticleHandleFwd.h
"
14
#include "
DataWrappers/ChaosVDParticleDataWrapper.h
"
15
#include "
Delegates/IDelegateInstance.h
"
16
#include "
HAL/Platform.h
"
17
18
class
IPhysicsProxyBase
;
19
class
UBodySetup
;
20
class
UChaosVDTraceDataChannel
;
21
class
UGameInstance
;
22
23
namespace
Chaos
24
{
25
namespace
VisualDebugger
26
{
27
struct
FChaosVDOptionalDataChannel
;
28
}
29
}
30
31
#ifndef WITH_CHAOS_VISUAL_DEBUGGER_EXTERNAL_MESSAGING
32
#define WITH_CHAOS_VISUAL_DEBUGGER_EXTERNAL_MESSAGING 0
33
#endif
34
38
class
FChaosVDEngineEditorBridge
39
{
40
public
:
41
42
FChaosVDEngineEditorBridge
() :
RemoteSessionsManager
(
MakeShared
<
FChaosVDRemoteSessionsManager
>())
43
{
44
}
45
46
~FChaosVDEngineEditorBridge
(){}
47
48
CHAOSSOLVERENGINE_API
static
FChaosVDEngineEditorBridge
&
Get
();
49
50
void
Initialize
();
51
void
TearDown();
52
53
TSharedPtr<FChaosVDRemoteSessionsManager>
GetRemoteSessionsManager
()
54
{
55
return
RemoteSessionsManager
;
56
}
57
58
using
FChaosVDDataDataChannel
= Chaos::VisualDebugger::FChaosVDOptionalDataChannel;
59
60
TSharedPtr<Chaos::VD::ITraceDataRelayTransport>
GetRelayTransportInstance
()
61
{
62
return
RelayTraceDataTransportInstance
;
63
}
64
65
bool
IsInitialized
()
const
66
{
67
return
bIsInitialized;
68
}
69
70
FSimpleMulticastDelegate
&
OnEngineEditorBridgeInitialized
()
71
{
72
return
EngineEditorBridgeInitializedDelegate
;
73
}
74
75
CHAOSSOLVERENGINE_API
void
SetExternalTraceRelayInstance
(
const
TSharedPtr<Chaos::VD::ITraceDataRelayTransport>
&
InExternalTraceRelayInstance
);
76
77
private
:
78
void
HandleTraceConnectionDetailsUpdated
();
79
bool
AddOnScreenRecordingMessage
(
float
DummyDeltaTime
= 0.1f);
80
void
RemoveOnScreenRecordingMessage
();
81
void
HandleCVDRecordingStarted
();
82
void
HandleCVDPostRecordingStarted
();
83
void
HandleCVDRecordingStopped
();
84
void
HandleCVDRecordingStartFailed
(
const
FText
&
InFailureReason
)
const
;
85
void
HandlePIEStarted
(
UGameInstance
* GameInstance);
86
87
void
HandleDataChannelChanged
(
TWeakPtr<FChaosVDDataDataChannel>
ChannelWeakPtr
);
88
89
void
SerializeCollisionChannelsNames
();
90
91
bool
BroadcastSessionStatus
(
float
DeltaTime);
92
93
static
FChaosVDParticleMetadata
GenerateParticleMetadata
(
const
IPhysicsProxyBase
* ParticleProxy,
const
Chaos::FGeometryParticleHandle
* ParticleHandle);
94
95
FDelegateHandle
RecordingStartedHandle
;
96
FDelegateHandle
PostRecordingStartedHandle
;
97
FDelegateHandle
RecordingStoppedHandle
;
98
FDelegateHandle
RecordingStartFailedHandle
;
99
uint64
CVDRecordingMessageKey
= 0;
100
101
#if WITH_EDITOR
102
FDelegateHandle
PIEStartedHandle
;
103
#endif
104
105
TSharedPtr<Chaos::VD::ITraceDataRelayTransport>
RelayTraceDataTransportInstance
;
106
107
TSharedRef<FChaosVDRemoteSessionsManager>
RemoteSessionsManager
;
108
109
FTSTicker::FDelegateHandle
RecordingStatusUpdateHandle
;
110
FTSTicker::FDelegateHandle
DeferredShowMessageOnScreenHandle
;
111
112
FSimpleMulticastDelegate
EngineEditorBridgeInitializedDelegate
;
113
114
bool
bIsInitialized =
false
;
115
};
116
#else
117
118
class
FChaosVDEngineEditorBridge
119
{
120
public
:
121
CHAOSSOLVERENGINE_API
static
FChaosVDEngineEditorBridge
&
Get
();
122
123
TSharedPtr<FChaosVDRemoteSessionsManager>
GetRemoteSessionsManager
()
124
{
125
return
nullptr
;
126
}
127
128
TSharedPtr<Chaos::VD::ITraceDataRelayTransport>
GetRelayTransportInstance
()
129
{
130
return
nullptr
;
131
}
132
};
133
134
#endif
ChaosVDParticleDataWrapper.h
ChaosVDRemoteSessionsManager.h
Platform.h
uint64
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition
Platform.h:1117
MakeShared
TSharedRef< InObjectType, InMode > MakeShared(InArgTypes &&... Args)
Definition
SharedPointer.h:2009
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
ERadixSortBufferState::IsInitialized
@ IsInitialized
IDelegateInstance.h
ParticleHandleFwd.h
ESlateAttributeBindAction::Initialize
@ Initialize
Chaos::TGeometryParticleHandleImp
Definition
ParticleHandle.h:436
FChaosVDEngineEditorBridge
Definition
ChaosVDEngineEditorBridge.h:119
FChaosVDEngineEditorBridge::Get
static CHAOSSOLVERENGINE_API FChaosVDEngineEditorBridge & Get()
Definition
ChaosVDEngineEditorBridge.cpp:367
FChaosVDEngineEditorBridge::GetRelayTransportInstance
TSharedPtr< Chaos::VD::ITraceDataRelayTransport > GetRelayTransportInstance()
Definition
ChaosVDEngineEditorBridge.h:128
FChaosVDEngineEditorBridge::GetRemoteSessionsManager
TSharedPtr< FChaosVDRemoteSessionsManager > GetRemoteSessionsManager()
Definition
ChaosVDEngineEditorBridge.h:123
FChaosVDRemoteSessionsManager
Definition
ChaosVDRemoteSessionsManager.h:314
FDelegateHandle
Definition
IDelegateInstance.h:14
FText
Definition
Text.h:385
IPhysicsProxyBase
Definition
PhysicsProxyBase.h:97
TSharedPtr
Definition
SharedPointer.h:692
TSharedRef
Definition
SharedPointer.h:153
TWeakPtr
Definition
SharedPointer.h:1295
UBodySetup
Definition
BodySetup.h:128
UGameInstance
Definition
GameInstance.h:152
Chaos::VD
Definition
ChaosVDEngineEditorBridge.h:7
Chaos
Definition
SkeletalMeshComponent.h:307
FChaosVDParticleMetadata
Definition
ChaosVDParticleDataWrapper.h:46
Engine
Source
Runtime
Experimental
ChaosSolverEngine
Public
Chaos
ChaosVDEngineEditorBridge.h
Generated by
1.9.8