UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneTracksPropertyTypes.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Math/Vector2D.h"
6#include "Math/Vector.h"
7#include "Math/Vector4.h"
8#include "Math/Rotator.h"
9#include "Math/Color.h"
10#include "EulerTransform.h"
11#include "Styling/SlateColor.h"
14
15class USceneComponent;
16
17namespace UE
18{
19namespace MovieScene
20{
21
22struct FObjectComponent;
24
29
32{
33 double X, Y, Z, W;
34
36 : X(0), Y(0), Z(0), W(0)
37 {}
38
40 : X(InX), Y(InY), Z(0), W(0)
41 {}
42
43 FFloatIntermediateVector(double InX, double InY, double InZ)
44 : X(InX), Y(InY), Z(InZ), W(0)
45 {}
46
47 FFloatIntermediateVector(double InX, double InY, double InZ, double InW)
48 : X(InX), Y(InY), Z(InZ), W(InW)
49 {}
50
52 {
53 return FVector2f(static_cast<float>(X), static_cast<float>(Y));
54 }
56 {
57 return FVector2d(X, Y);
58 }
59
61 {
62 return FVector3f(static_cast<float>(X), static_cast<float>(Y), static_cast<float>(Z));
63 }
65 {
66 return FVector3d(X, Y, Z);
67 }
68
70 {
71 return FVector4f(static_cast<float>(X), static_cast<float>(Y), static_cast<float>(Z), static_cast<float>(W));
72 }
74 {
75 return FVector4d(X, Y, Z, W);
76 }
77};
78
80{
81 double X, Y, Z, W;
82
84 : X(0), Y(0), Z(0), W(0)
85 {}
86
88 : X(InX), Y(InY), Z(0), W(0)
89 {}
90
91 FDoubleIntermediateVector(double InX, double InY, double InZ)
92 : X(InX), Y(InY), Z(InZ), W(0)
93 {}
94
95 FDoubleIntermediateVector(double InX, double InY, double InZ, double InW)
96 : X(InX), Y(InY), Z(InZ), W(InW)
97 {}
98};
99
100
103{
105 Undefined,
107 Slate,
109 Linear,
111 Color,
112};
113
116{
117 double R, G, B, A;
118
120 : R(0.f), G(0.f), B(0.f), A(0.f)
121 {}
122
123 explicit FIntermediateColor(double InR, double InG, double InB, double InA)
124 : R(InR), G(InG), B(InB), A(InA)
125 {}
126 explicit FIntermediateColor(const FLinearColor& InColor)
127 : R(InColor.R), G(InColor.G), B(InColor.B), A(InColor.A)
128 {}
129 explicit FIntermediateColor(const FColor& InColor)
130 {
131 FLinearColor NewColor = FLinearColor::FromSRGBColor(InColor);
132 R = NewColor.R;
133 G = NewColor.G;
134 B = NewColor.B;
135 A = NewColor.A;
136 }
137
139 {
140 FLinearColor SpecifiedColor = InSlateColor.GetSpecifiedColor();
141 R = SpecifiedColor.R;
142 G = SpecifiedColor.G;
143 B = SpecifiedColor.B;
144 A = SpecifiedColor.A;
145 }
146
147 double operator[](int32 Index) const
148 {
149 check(Index >= 0 && Index <= 3);
150 return (&R)[Index];
151 }
152
154 {
155 const bool bConvertBackToSRgb = true;
157 return SRgbColor;
158 }
159
161 {
162 return FLinearColor(static_cast<float>(R), static_cast<float>(G), static_cast<float>(B), static_cast<float>(A));
163 }
164
166 {
167 return FSlateColor(GetLinearColor());
168 }
169};
170
171
172
175{
176 // When LWC is enabled, translations are manipulated as doubles.
177 double T_X, T_Y, T_Z, R_X, R_Y, R_Z, S_X, S_Y, S_Z;
178
180 : T_X(0.), T_Y(0.), T_Z(0.), R_X(0.), R_Y(0.), R_Z(0.), S_X(0.), S_Y(0.), S_Z(0.)
181 {}
182
184 double InT_X, double InT_Y, double InT_Z, double InR_X, double InR_Y, double InR_Z, double InS_X, double InS_Y, double InS_Z)
186 {}
187
193
194 double operator[](int32 Index) const
195 {
196 check(Index >= 0 && Index < 9);
197 return (&T_X)[Index];
198 }
199
201 {
202 return FVector(T_X, T_Y, T_Z);
203 }
205 {
206 return FRotator(R_Y, R_Z, R_X);
207 }
209 {
210 return FVector(S_X, S_Y, S_Z);
211 }
216
217 MOVIESCENETRACKS_API void ApplyTo(USceneComponent* SceneComponent) const;
218
219 MOVIESCENETRACKS_API static void ApplyTransformTo(USceneComponent* SceneComponent, const FIntermediate3DTransform& Transform);
220 MOVIESCENETRACKS_API static void ApplyTranslationAndRotationTo(USceneComponent* SceneComponent, const FIntermediate3DTransform& Transform);
221};
222
223MOVIESCENETRACKS_API FIntermediate3DTransform GetComponentTransform(const UObject* Object);
224MOVIESCENETRACKS_API void SetComponentTransform(USceneComponent* SceneComponent, const FIntermediate3DTransform& InTransform);
225MOVIESCENETRACKS_API void SetComponentTransformAndVelocity(UObject* Object, const FIntermediate3DTransform& InTransform);
226
227MOVIESCENETRACKS_API void ConvertOperationalProperty(float In, double& Out);
228MOVIESCENETRACKS_API void ConvertOperationalProperty(double In, float& Out);
229
233
234MOVIESCENETRACKS_API void ConvertOperationalProperty(const FIntermediate3DTransform& In, FEulerTransform& Out);
235MOVIESCENETRACKS_API void ConvertOperationalProperty(const FEulerTransform& In, FIntermediate3DTransform& Out);
236MOVIESCENETRACKS_API void ConvertOperationalProperty(const FIntermediate3DTransform& In, FTransform& Out);
237MOVIESCENETRACKS_API void ConvertOperationalProperty(const FTransform& In, FIntermediate3DTransform& Out);
238
239MOVIESCENETRACKS_API void ConvertOperationalProperty(const FIntermediateColor& InColor, FColor& Out);
240MOVIESCENETRACKS_API void ConvertOperationalProperty(const FIntermediateColor& InColor, FLinearColor& Out);
241MOVIESCENETRACKS_API void ConvertOperationalProperty(const FIntermediateColor& InColor, FSlateColor& Out);
242MOVIESCENETRACKS_API void ConvertOperationalProperty(const FColor& InColor, FIntermediateColor& OutIntermediate);
243MOVIESCENETRACKS_API void ConvertOperationalProperty(const FLinearColor& InColor, FIntermediateColor& OutIntermediate);
244MOVIESCENETRACKS_API void ConvertOperationalProperty(const FSlateColor& InColor, FIntermediateColor& OutIntermediate);
245
246MOVIESCENETRACKS_API void ConvertOperationalProperty(const FFloatIntermediateVector& InVector, FVector2f& Out);
247MOVIESCENETRACKS_API void ConvertOperationalProperty(const FFloatIntermediateVector& InVector, FVector3f& Out);
248MOVIESCENETRACKS_API void ConvertOperationalProperty(const FFloatIntermediateVector& InVector, FVector4f& Out);
249MOVIESCENETRACKS_API void ConvertOperationalProperty(const FVector2f& In, FFloatIntermediateVector& Out);
250MOVIESCENETRACKS_API void ConvertOperationalProperty(const FVector3f& In, FFloatIntermediateVector& Out);
251MOVIESCENETRACKS_API void ConvertOperationalProperty(const FVector4f& In, FFloatIntermediateVector& Out);
252
253MOVIESCENETRACKS_API void ConvertOperationalProperty(const FDoubleIntermediateVector& InVector, FVector2d& Out);
254MOVIESCENETRACKS_API void ConvertOperationalProperty(const FDoubleIntermediateVector& InVector, FVector3d& Out);
255MOVIESCENETRACKS_API void ConvertOperationalProperty(const FDoubleIntermediateVector& InVector, FVector4d& Out);
256MOVIESCENETRACKS_API void ConvertOperationalProperty(const FVector2d& In, FDoubleIntermediateVector& Out);
257MOVIESCENETRACKS_API void ConvertOperationalProperty(const FVector3d& In, FDoubleIntermediateVector& Out);
258MOVIESCENETRACKS_API void ConvertOperationalProperty(const FVector4d& In, FDoubleIntermediateVector& Out);
259
260MOVIESCENETRACKS_API void ConvertOperationalProperty(const FObjectComponent& In, UObject*& Out);
261MOVIESCENETRACKS_API void ConvertOperationalProperty(UObject* In, FObjectComponent& Out);
262
263} // namespace MovieScene
264} // namespace UE
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::int16 int16
A 16-bit signed integer.
Definition Platform.h:1123
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
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
#define X(Name, Desc)
Definition FormatStringSan.h:47
#define FVector
Definition IOSSystemIncludes.h:8
UE::Math::TVector2< float > FVector2f
Definition MathFwd.h:74
UE::Math::TVector4< double > FVector4d
Definition MathFwd.h:62
UE::Math::TVector< float > FVector3f
Definition MathFwd.h:73
UE::Math::TVector2< double > FVector2d
Definition MathFwd.h:61
UE::Math::TVector< double > FVector3d
Definition MathFwd.h:60
UE::Math::TVector4< float > FVector4f
Definition MathFwd.h:75
UE::Math::TRotator< double > FRotator
Definition MathFwd.h:57
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition MovieScene.Build.cs:6
Definition Object.h:95
FIntermediate3DTransform GetComponentTransform(const UObject *Object)
Definition MovieSceneTracksCustomAccessors.cpp:18
void SetComponentTransformAndVelocity(UObject *Object, const FIntermediate3DTransform &InTransform)
Definition MovieSceneTracksCustomAccessors.cpp:71
EColorPropertyType
Definition MovieSceneTracksPropertyTypes.h:103
void ConvertOperationalProperty(const InType &In, OutType &Out)
Definition MovieSceneOperationalTypeConversions.h:12
void SetComponentTransform(USceneComponent *SceneComponent, const FIntermediate3DTransform &Transform)
Definition MovieSceneTracksCustomAccessors.cpp:43
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition Color.h:486
Definition EulerTransform.h:32
Definition Color.h:48
float A
Definition Color.h:56
float G
Definition Color.h:54
float B
Definition Color.h:55
static UE_FORCEINLINE_HINT FLinearColor FromSRGBColor(const FColor &Color)
Definition Color.h:123
float R
Definition Color.h:53
FColor ToFColor(const bool bSRGB) const
Definition Color.h:810
Definition SlateColor.h:42
Definition MovieSceneTracksPropertyTypes.h:80
FDoubleIntermediateVector()
Definition MovieSceneTracksPropertyTypes.h:83
double X
Definition MovieSceneTracksPropertyTypes.h:81
FDoubleIntermediateVector(double InX, double InY)
Definition MovieSceneTracksPropertyTypes.h:87
double W
Definition MovieSceneTracksPropertyTypes.h:81
FDoubleIntermediateVector(double InX, double InY, double InZ, double InW)
Definition MovieSceneTracksPropertyTypes.h:95
double Y
Definition MovieSceneTracksPropertyTypes.h:81
double Z
Definition MovieSceneTracksPropertyTypes.h:81
FDoubleIntermediateVector(double InX, double InY, double InZ)
Definition MovieSceneTracksPropertyTypes.h:91
Definition MovieSceneTracksPropertyTypes.h:32
FVector2d AsVector2d() const
Definition MovieSceneTracksPropertyTypes.h:55
FVector3f AsVector3f() const
Definition MovieSceneTracksPropertyTypes.h:60
FVector4d AsVector4d() const
Definition MovieSceneTracksPropertyTypes.h:73
FVector2f AsVector2f() const
Definition MovieSceneTracksPropertyTypes.h:51
double X
Definition MovieSceneTracksPropertyTypes.h:33
FFloatIntermediateVector(double InX, double InY)
Definition MovieSceneTracksPropertyTypes.h:39
double W
Definition MovieSceneTracksPropertyTypes.h:33
FFloatIntermediateVector()
Definition MovieSceneTracksPropertyTypes.h:35
double Y
Definition MovieSceneTracksPropertyTypes.h:33
FFloatIntermediateVector(double InX, double InY, double InZ, double InW)
Definition MovieSceneTracksPropertyTypes.h:47
FFloatIntermediateVector(double InX, double InY, double InZ)
Definition MovieSceneTracksPropertyTypes.h:43
double Z
Definition MovieSceneTracksPropertyTypes.h:33
FVector4f AsVector4f() const
Definition MovieSceneTracksPropertyTypes.h:69
FVector3d AsVector3d() const
Definition MovieSceneTracksPropertyTypes.h:64
Definition MovieSceneTracksPropertyTypes.h:175
double R_Y
Definition MovieSceneTracksPropertyTypes.h:177
static MOVIESCENETRACKS_API void ApplyTransformTo(USceneComponent *SceneComponent, const FIntermediate3DTransform &Transform)
Definition MovieSceneTracksComponentTypes.cpp:264
FVector GetScale() const
Definition MovieSceneTracksPropertyTypes.h:208
double S_Z
Definition MovieSceneTracksPropertyTypes.h:177
double S_X
Definition MovieSceneTracksPropertyTypes.h:177
FIntermediate3DTransform(double InT_X, double InT_Y, double InT_Z, double InR_X, double InR_Y, double InR_Z, double InS_X, double InS_Y, double InS_Z)
Definition MovieSceneTracksPropertyTypes.h:183
double T_Z
Definition MovieSceneTracksPropertyTypes.h:177
double T_Y
Definition MovieSceneTracksPropertyTypes.h:177
FRotator GetRotation() const
Definition MovieSceneTracksPropertyTypes.h:204
static MOVIESCENETRACKS_API void ApplyTranslationAndRotationTo(USceneComponent *SceneComponent, const FIntermediate3DTransform &Transform)
Definition MovieSceneTracksComponentTypes.cpp:285
MOVIESCENETRACKS_API void ApplyTo(USceneComponent *SceneComponent) const
Definition MovieSceneTracksComponentTypes.cpp:259
FIntermediate3DTransform(const FVector &InLocation, const FRotator &InRotation, const FVector &InScale)
Definition MovieSceneTracksPropertyTypes.h:188
FEulerTransform AsEuler() const
Definition MovieSceneTracksPropertyTypes.h:212
FVector GetTranslation() const
Definition MovieSceneTracksPropertyTypes.h:200
FIntermediate3DTransform()
Definition MovieSceneTracksPropertyTypes.h:179
double R_X
Definition MovieSceneTracksPropertyTypes.h:177
double S_Y
Definition MovieSceneTracksPropertyTypes.h:177
double R_Z
Definition MovieSceneTracksPropertyTypes.h:177
double operator[](int32 Index) const
Definition MovieSceneTracksPropertyTypes.h:194
double T_X
Definition MovieSceneTracksPropertyTypes.h:177
Definition MovieSceneTracksPropertyTypes.h:116
FIntermediateColor(const FLinearColor &InColor)
Definition MovieSceneTracksPropertyTypes.h:126
FLinearColor GetLinearColor() const
Definition MovieSceneTracksPropertyTypes.h:160
FIntermediateColor(const FColor &InColor)
Definition MovieSceneTracksPropertyTypes.h:129
double A
Definition MovieSceneTracksPropertyTypes.h:117
double R
Definition MovieSceneTracksPropertyTypes.h:117
FColor GetColor() const
Definition MovieSceneTracksPropertyTypes.h:153
FIntermediateColor()
Definition MovieSceneTracksPropertyTypes.h:119
double operator[](int32 Index) const
Definition MovieSceneTracksPropertyTypes.h:147
FSlateColor GetSlateColor() const
Definition MovieSceneTracksPropertyTypes.h:165
double B
Definition MovieSceneTracksPropertyTypes.h:117
double G
Definition MovieSceneTracksPropertyTypes.h:117
FIntermediateColor(const FSlateColor &InSlateColor)
Definition MovieSceneTracksPropertyTypes.h:138
FIntermediateColor(double InR, double InG, double InB, double InA)
Definition MovieSceneTracksPropertyTypes.h:123
Definition MovieSceneTracksPropertyTypes.h:26
uint8 NumChannels
Definition MovieSceneTracksPropertyTypes.h:27