UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneActorReferenceSection.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
8#include "Containers/Array.h"
10#include "Containers/Map.h"
12#include "CoreMinimal.h"
14#include "Curves/KeyHandle.h"
15#include "HAL/Platform.h"
16#include "HAL/PlatformCrt.h"
17#include "Math/Range.h"
19#include "Misc/FrameNumber.h"
20#include "Misc/FrameRate.h"
21#include "Misc/FrameTime.h"
22#include "Misc/Guid.h"
23#include "MovieSceneFwd.h"
25#include "MovieSceneSection.h"
26#include "UObject/NameTypes.h"
29
30#include "MovieSceneActorReferenceSection.generated.h"
31
33class UObject;
34struct FKeyHandle;
37
38USTRUCT()
40{
42
45
49
51 {
52 return A.Object == B.Object && A.ComponentName == B.ComponentName && A.SocketName == B.SocketName;
53 }
54
56 {
57 return A.Object != B.Object || A.ComponentName != B.ComponentName || A.SocketName != B.SocketName;
58 }
59
60 UPROPERTY(EditAnywhere, Category="Key")
62
63 UPROPERTY(EditAnywhere, Category="Key")
64 FName ComponentName;
65
66 UPROPERTY(EditAnywhere, Category="Key")
67 FName SocketName;
68};
69
71USTRUCT()
73{
75
77
79 : DefaultValue()
80 {}
81
88 {
89 return TMovieSceneChannelData<FMovieSceneActorReferenceKey>(&KeyTimes, &KeyValues, this, &KeyHandles);
90 }
91
101
110
111public:
112
113 // ~ FMovieSceneChannel Interface
118 MOVIESCENETRACKS_API virtual void DeleteKeys(TArrayView<const FKeyHandle> InHandles) override;
119 MOVIESCENETRACKS_API virtual void DeleteKeysFrom(FFrameNumber InTime, bool bDeleteKeysBefore) override;
120 MOVIESCENETRACKS_API virtual void RemapTimes(const UE::MovieScene::IRetimingInterface& Retimer) override;
121 MOVIESCENETRACKS_API virtual TRange<FFrameNumber> ComputeEffectiveRange() const override;
122 MOVIESCENETRACKS_API virtual int32 GetNumKeys() const override;
123 MOVIESCENETRACKS_API virtual void Reset() override;
124 MOVIESCENETRACKS_API virtual void Offset(FFrameNumber DeltaPosition) override;
125 MOVIESCENETRACKS_API virtual void ClearDefault() override;
126 MOVIESCENETRACKS_API virtual FKeyHandle GetHandle(int32 Index) override;
127 MOVIESCENETRACKS_API virtual int32 GetIndex(FKeyHandle Handle) override;
128
129public:
130
137 {
138 DefaultValue = InDefaultValue;
139 }
140
147 {
148 return DefaultValue;
149 }
150
155 {
158
159 check(KeyTimes.Num() == 0 || KeyTime >= KeyTimes.Last());
160
161 KeyTimes.Add(KeyTime);
162 KeyValues.Add(Value);
163 }
164
165private:
166
168 UPROPERTY(meta=(KeyTimes))
169 TArray<FFrameNumber> KeyTimes;
170
172 UPROPERTY()
173 FMovieSceneActorReferenceKey DefaultValue;
174
176 UPROPERTY(meta=(KeyValues))
178
181 FMovieSceneKeyHandleMap KeyHandles;
182};
183
187UCLASS(MinimalAPI)
190{
192
193public:
194
195 //~ UObject interface
196 virtual void PostLoad() override;
197
198 //~ UMovieSceneSection interface
200
201 const FMovieSceneActorReferenceData& GetActorReferenceData() const { return ActorReferenceData; }
202
203private:
204
205 UPROPERTY()
206 FMovieSceneActorReferenceData ActorReferenceData;
207
208private:
209
211 UPROPERTY()
212 FIntegralCurve ActorGuidIndexCurve_DEPRECATED;
213
214 UPROPERTY()
215 TArray<FString> ActorGuidStrings_DEPRECATED;
216};
217
222
224{
225 OutDefaultValue = Channel->GetDefault();
226 return true;
227}
#define check(expr)
Definition AssertionMacros.h:314
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
bool EvaluateChannel(const FMovieSceneActorReferenceData *InChannel, FFrameTime InTime, FMovieSceneActorReferenceKey &OutValue)
Definition MovieSceneActorReferenceSection.h:218
bool GetChannelDefault(const FMovieSceneActorReferenceData *Channel, FMovieSceneActorReferenceKey &OutDefaultValue)
Definition MovieSceneActorReferenceSection.h:223
FFrameRate GetLegacyConversionFrameRate()
Definition MovieSceneModule.cpp:42
FFrameNumber UpgradeLegacyMovieSceneTime(UObject *ErrorContext, FFrameRate InFrameRate, double InTime)
Definition MovieSceneModule.cpp:67
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition NameTypes.h:617
Definition IMovieScenePlayer.h:90
Definition ArrayView.h:139
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition Range.h:50
Definition SharedPointer.h:153
Definition MovieSceneActorReferenceSection.h:190
const FMovieSceneActorReferenceData & GetActorReferenceData() const
Definition MovieSceneActorReferenceSection.h:201
Definition MovieSceneSection.h:243
Definition Object.h:95
U16 Index
Definition radfft.cpp:71
Definition FrameNumber.h:18
Definition FrameRate.h:21
Definition FrameTime.h:16
Definition IntegralCurve.h:38
Definition KeyHandle.h:15
Definition MovieSceneActorReferenceSection.h:73
TMovieSceneChannelData< FMovieSceneActorReferenceKey > GetData()
Definition MovieSceneActorReferenceSection.h:87
const FMovieSceneActorReferenceKey & GetDefault() const
Definition MovieSceneActorReferenceSection.h:146
void SetDefault(FMovieSceneActorReferenceKey InDefaultValue)
Definition MovieSceneActorReferenceSection.h:136
TMovieSceneChannelData< const FMovieSceneActorReferenceKey > GetData() const
Definition MovieSceneActorReferenceSection.h:97
void UpgradeLegacyTime(UObject *Context, double Time, FMovieSceneActorReferenceKey Value)
Definition MovieSceneActorReferenceSection.h:154
Definition MovieSceneActorReferenceSection.h:40
FMovieSceneActorReferenceKey(const FMovieSceneObjectBindingID &InBindingID)
Definition MovieSceneActorReferenceSection.h:46
friend bool operator==(const FMovieSceneActorReferenceKey &A, const FMovieSceneActorReferenceKey &B)
Definition MovieSceneActorReferenceSection.h:50
friend bool operator!=(const FMovieSceneActorReferenceKey &A, const FMovieSceneActorReferenceKey &B)
Definition MovieSceneActorReferenceSection.h:55
Definition MovieSceneChannel.h:112
Definition MovieSceneChannelData.h:37
Definition MovieSceneObjectBindingID.h:203
Definition MovieSceneSequenceHierarchy.h:279
Definition MovieSceneSequenceID.h:13
Definition MovieSceneChannelData.h:259
Definition IMovieSceneRetimingInterface.h:18