UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneComponentDebug.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "MovieSceneFwd.h"
6
7#if UE_MOVIESCENE_ENTITY_DEBUG
8
10#include "Math/Vector4.h"
11#include "Misc/FrameTime.h"
12#include "UObject/ObjectKey.h"
13#include "Misc/InlineValue.h"
14
15class FName;
16
17namespace UE::MovieScene
18{
19
21
23{
25 void* Ptr;
26};
27template<typename T>
29{
31 {
32 static_assert(sizeof(TComponentDebuggingTypedPtr) == sizeof(IComponentDebuggingTypedPtr), "Size must match");
33 }
34};
35
36template<typename T>
37struct TComponentHeader : FComponentHeader
38{
40 {
41 static_assert(sizeof(TComponentHeader<T>) == sizeof(FComponentHeader), "Size must match!");
42 }
43};
44
49{
50 FString DebugName;
51 const TCHAR* DebugTypeName = nullptr;
52
53 virtual ~FComponentTypeDebugInfo() {}
54 virtual void InitializeComponentHeader(void* Ptr) const
55 {
56 new (Ptr) FComponentHeader();
57 }
58 virtual void InitializeDebugComponentData(FComponentHeader& Header, uint8 Capacity) const
59 {
60 }
61};
62
63template<typename T>
65{
66 void InitializeComponentHeader(void* Ptr) const override
67 {
68 new (Ptr) TComponentHeader<T>();
69 }
70
71 virtual void InitializeDebugComponentData(FComponentHeader& Header, uint8 Capacity) const
72 {
74
75 for (int32 Index = 0; Index < Capacity; ++Index)
76 {
77 TypedComponents[Index].Ptr = static_cast<T*>(Header.GetValuePtr(Index));
78 }
79
80 Header.DebugComponents = TypedComponents;
81 }
82};
83
84} // namespace UE::MovieScene
85
86
87#endif // UE_MOVIESCENE_ENTITY_DEBUG
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NameTypes.h:617
Definition ConstraintsManager.h:14
U16 Index
Definition radfft.cpp:71