UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieScene.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
7#include "Containers/Map.h"
8#include "Containers/Set.h"
10#include "CoreMinimal.h"
11#include "CoreTypes.h"
12#include "Delegates/Delegate.h"
16#include "HAL/PlatformCrt.h"
18#include "Math/Color.h"
19#include "Math/Range.h"
20#include "Misc/FrameNumber.h"
21#include "Misc/FrameRate.h"
22#include "Misc/Guid.h"
23#include "MovieSceneBinding.h"
25#include "MovieSceneFwd.h"
31#include "MovieSceneSpawnable.h"
33#include "MovieSceneTrack.h"
34#include "Templates/Casts.h"
38#include "UObject/NameTypes.h"
39#include "UObject/Object.h"
41#include "UObject/ObjectPtr.h"
44#include "UObject/UnrealNames.h"
46
47#include "MovieScene.generated.h"
48
49class FArchive;
51class UClass;
53class UK2Node;
58namespace UE { namespace MovieScene { class ISequenceDataEventHandler; } }
62template <typename FuncType> class TFunctionRef;
63
64//delegates for use when some data in the MovieScene changes, WIP right now, hopefully will replace delegates on ISequencer
65//and be used for moving towards a true MVC system
80
84USTRUCT()
86{
88
90 : ViewStart(0.0), ViewEnd(0.0)
91 , WorkStart(0.0), WorkEnd(0.0)
92 {}
93
95 {
96 return TRange<double>(ViewStart, ViewEnd);
97 }
98
100 {
101 return TRange<double>(WorkStart, WorkEnd);
102 }
103
105 UPROPERTY()
106 TMap<FString, FMovieSceneExpansionState> ExpansionStates;
107
109 UPROPERTY()
110 TArray<FString> PinnedNodes;
111
114 double ViewStart;
117 double ViewEnd;
118
121 double WorkStart;
124 double WorkEnd;
125
127 UPROPERTY()
128 TSet<FFrameNumber> MarkedFrames_DEPRECATED;
129 UPROPERTY()
130 FFloatRange WorkingRange_DEPRECATED;
131 UPROPERTY()
132 FFloatRange ViewRange_DEPRECATED;
133
135 UPROPERTY()
136 FNavigationToolSaveState NavigationToolState;
137
140 TArray<FString> SoloNodes;
141
144 TArray<FString> MuteNodes;
145};
146
147
151USTRUCT()
153{
155
156 UPROPERTY()
157 TArray<FString> Strings;
158
159 void FromString(const FString& LabelString)
160 {
161 LabelString.ParseIntoArray(Strings, TEXT(" "));
162 }
163
164 FString ToString() const
165 {
166 return FString::Join(Strings, TEXT(" "));
167 }
168};
169
170
174USTRUCT()
182
186USTRUCT()
188{
190public:
191 /* @return Whether the section is part of this group */
192 MOVIESCENE_API bool Contains(const UMovieSceneSection& Section) const;
193
194 /* Add the section to this group */
196
197 /* Remove the section from this group */
199
200 /* Add all members of a group to this group */
202
203 /* Removes any sections which the pointers are stale or otherwise not valid */
205
206 int32 Num() const { return Sections.Num(); }
207
208protected:
209 UPROPERTY()
211
212public:
218 inline bool operator==(const FMovieSceneSectionGroup& Other) const
219 {
220 return &Sections == &Other.Sections;
221 }
222 inline bool operator!=(const FMovieSceneSectionGroup& Other) const
223 {
224 return &Sections != &Other.Sections;
225 }
226
231 inline TArray<TWeakObjectPtr<UMovieSceneSection> >::RangedForIteratorType begin() { return Sections.begin(); }
232 inline TArray<TWeakObjectPtr<UMovieSceneSection> >::RangedForConstIteratorType begin() const { return Sections.begin(); }
233 inline TArray<TWeakObjectPtr<UMovieSceneSection> >::RangedForIteratorType end() { return Sections.end(); }
234 inline TArray<TWeakObjectPtr<UMovieSceneSection> >::RangedForConstIteratorType end() const { return Sections.end(); }
235};
236
240UCLASS(MinimalAPI)
242{
244
245 virtual bool IsEditorOnly() const override { return true; }
246
247#if WITH_EDITORONLY_DATA
248public:
249 const FName GetName() const { return Name; }
250 MOVIESCENE_API void SetName(const FName& Name);
251
252 MOVIESCENE_API void AddNode(const FString& Path);
253 MOVIESCENE_API void RemoveNode(const FString& Path);
254 TArrayView<FString> GetNodes() { return Nodes; }
255 MOVIESCENE_API bool ContainsNode(const FString& Path) const;
256
257 MOVIESCENE_API void UpdateNodePath(const FString& OldPath, const FString& NewPath);
258
259 bool GetEnableFilter() const { return bEnableFilter; }
261
265
266private:
267 UPROPERTY()
268 FName Name;
269
271 UPROPERTY()
272 TArray<FString> Nodes;
273
275 bool bEnableFilter;
276
279
285 inline bool operator==(const UMovieSceneNodeGroup& Other) const
286 {
287 return &Nodes == &Other.Nodes;
288 }
289 inline bool operator!=(const UMovieSceneNodeGroup& Other) const
290 {
291 return &Nodes != &Other.Nodes;
292 }
293#endif
294};
295
299UCLASS(MinimalAPI)
301{
303
304 virtual bool IsEditorOnly() const override { return true; }
305
306#if WITH_EDITORONLY_DATA
307public:
309 MOVIESCENE_API virtual void PostLoad() override;
310 MOVIESCENE_API virtual void PostEditUndo() override;
311
314
315 bool Contains(UMovieSceneNodeGroup* NodeGroup) const { return NodeGroups.Contains(NodeGroup); }
316 const int32 Num() const { return NodeGroups.Num(); }
317 bool HasAnyActiveFilter() const { return bAnyActiveFilter; }
318
319 MOVIESCENE_API void UpdateNodePath(const FString& OldPath, const FString& NewPath);
320
324
325private:
326
327 MOVIESCENE_API void Refresh();
328
329 UPROPERTY()
331
332 bool bAnyActiveFilter;
333
335
338
339public:
340
345 inline auto begin() { return NodeGroups.begin(); }
346 inline auto begin() const { return NodeGroups.begin(); }
347 inline auto end() { return NodeGroups.end(); }
348 inline auto end() const { return NodeGroups.end(); }
349#endif
350};
351
355UCLASS(DefaultToInstanced, MinimalAPI)
358{
360
361public:
362
364 MOVIESCENE_API virtual void Serialize( FArchive& Ar ) override;
365 MOVIESCENE_API virtual bool IsPostLoadThreadSafe() const override;
366 MOVIESCENE_API virtual void PostInitProperties() override;
367 MOVIESCENE_API virtual void PostLoad() override;
368#if WITH_EDITORONLY_DATA
370#endif
371
372
373#if WITH_EDITOR
374 MOVIESCENE_API virtual void PostEditUndo() override;
375#endif
376
377public:
378
380
390 MOVIESCENE_API FGuid AddSpawnable(const FString& Name, UObject& ObjectTemplate);
391
392 /*
393 * Adds an existing spawnable to this movie scene.
394 *
395 * @param InNewSpawnable The posssesable to add.
396 * @param InNewBinding The object binding to add.
397 */
399
406 MOVIESCENE_API bool RemoveSpawnable(const FGuid& Guid);
407
415
422 MOVIESCENE_API FMovieSceneSpawnable* FindSpawnable(const FGuid& Guid);
423
431
437 MOVIESCENE_API int32 GetSpawnableCount() const;
438
439public:
440
448 MOVIESCENE_API FGuid AddPossessable(const FString& Name, UClass* Class);
449
450 /*
451 * Adds an existing possessable to this movie scene.
452 *
453 * @param InNewPossessable The posssesable to add.
454 * @param InNewBinding The object binding to add.
455 */
457
463 MOVIESCENE_API bool RemovePossessable(const FGuid& PossessableGuid);
464
465 /*
466 * Replace an existing possessable with another
467 */
468 MOVIESCENE_API bool ReplacePossessable(const FGuid& OldGuid, const FMovieScenePossessable& InNewPosessable);
469
476 MOVIESCENE_API struct FMovieScenePossessable* FindPossessable(const FGuid& Guid);
477
485
492 MOVIESCENE_API FMovieScenePossessable& GetPossessable(const int32 Index);
493
499 MOVIESCENE_API int32 GetPossessableCount() const;
500
501public:
502
513 MOVIESCENE_API UMovieSceneTrack* AddTrack(TSubclassOf<UMovieSceneTrack> TrackClass, const FGuid& ObjectGuid);
514
523 MOVIESCENE_API bool AddGivenTrack(UMovieSceneTrack* InTrack, const FGuid& ObjectGuid);
524
535 template<typename TrackClass>
536 TrackClass* AddTrack(const FGuid& ObjectGuid)
537 {
538 return Cast<TrackClass>(AddTrack(TrackClass::StaticClass(), ObjectGuid));
539 }
540
550 MOVIESCENE_API UMovieSceneTrack* FindTrack(TSubclassOf<UMovieSceneTrack> TrackClass, const FGuid& ObjectGuid, const FName& TrackName = NAME_None) const;
551
561 template<typename TrackClass>
562 TrackClass* FindTrack(const FGuid& ObjectGuid, const FName& TrackName = NAME_None) const
563 {
564 return Cast<TrackClass>(FindTrack(TrackClass::StaticClass(), ObjectGuid, TrackName));
565 }
566
576 MOVIESCENE_API TArray<UMovieSceneTrack*> FindTracks(TSubclassOf<UMovieSceneTrack> TrackClass, const FGuid& ObjectGuid, const FName& TrackName = NAME_None) const;
577
586
594 MOVIESCENE_API bool FindTrackBinding(const UMovieSceneTrack& InTrack, FGuid& OutGuid) const;
595
596#if WITH_EDITOR
597
599
601
603
605
607
609
611
613
615
616
618 {
620 }
621
623
625
627 {
629 }
630
632
634
635#endif
636
637public:
638
649
659 template<typename TrackClass>
660 TrackClass* AddTrack()
661 {
662 return Cast<TrackClass>(AddTrack(TrackClass::StaticClass()));
663 }
664
672 MOVIESCENE_API bool AddGivenTrack(UMovieSceneTrack* InTrack);
673
682
690 template<typename TrackClass>
691 TrackClass* FindTrack() const
692 {
693 return Cast<TrackClass>(FindTrack(TrackClass::StaticClass()));
694 }
695
703 {
704 return Tracks;
705 }
706
713 MOVIESCENE_API bool ContainsTrack(const UMovieSceneTrack& Track) const;
714
721 MOVIESCENE_API void MoveBindingContents(const FGuid& SourceBindingId, const FGuid& DestinationBindingId);
722
729 MOVIESCENE_API FMovieSceneBinding* FindBinding(const FGuid& ForGuid);
730
737 MOVIESCENE_API const FMovieSceneBinding* FindBinding(const FGuid& ForGuid) const;
738
739public:
740
741 // @todo sequencer: the following methods really shouldn't be here
742
751 MOVIESCENE_API UMovieSceneTrack* AddCameraCutTrack( TSubclassOf<UMovieSceneTrack> TrackClass );
752
754 MOVIESCENE_API UMovieSceneTrack* GetCameraCutTrack() const;
755
757 MOVIESCENE_API void RemoveCameraCutTrack();
758
759 MOVIESCENE_API void SetCameraCutTrack(UMovieSceneTrack* Track);
760
761public:
762
768 MOVIESCENE_API TArray<UMovieSceneSection*> GetAllSections() const;
769
774 {
775 return ObjectBindings;
776 }
777
778 UE_DEPRECATED(5.7, "Getting non-const access to GetBindings is no longer allowed. Please use const GetBindings()")
780 {
781 return ObjectBindings;
782 }
783
786 {
787 return SelectionRange.Value;
788 }
789
796 MOVIESCENE_API FText GetObjectDisplayName(const FGuid& ObjectId) const;
797
800 {
801 return PlaybackRange.Value;
802 }
803
808 {
809 return TickResolution;
810 }
811
815 MOVIESCENE_API void SetTickResolutionDirectly(FFrameRate InTickResolution);
816
821 {
822 return DisplayRate;
823 }
824
832
837 {
838 return EvaluationType;
839 }
840
845 {
846 EvaluationType = InNewEvaluationType;
847
848 if (EvaluationType == EMovieSceneEvaluationType::FrameLocked && ClockSource == EUpdateClockSource::Tick)
849 {
850 ClockSource = EUpdateClockSource::Platform;
851 }
852 }
853
858 {
859 return ClockSource;
860 }
861
863 {
864 return ClockSource == EUpdateClockSource::Custom ? CustomClock : nullptr;
865 }
866
867 template<typename T>
869 {
870 return Cast<T>(GetCustomClock());
871 }
872
876 MOVIESCENE_API TSharedPtr<FMovieSceneTimeController> MakeCustomTimeController(UObject* PlaybackContext);
877
882
886 UE_DEPRECATED(5.6, "Please call SetCustomClock with an instance of UMovieSceneExternalClock")
887 MOVIESCENE_API void SetClockSource(UObject* InNewClockSource);
888
890
894 MOVIESCENE_API FMovieSceneTimecodeSource GetEarliestTimecodeSource() const;
895
896 /*
897 * Replace an existing binding with another
898 */
899 MOVIESCENE_API void ReplaceBinding(const FGuid& OldGuid, const FGuid& NewGuid, const FString& Name);
900
901 /*
902 * Replace an existing binding with another. Assumes ownership of any
903 * tracks listed in the binding. Does nothing if no binding can be found.
904 * @param BindingToReplaceGuid Binding Guid that should be replaced
905 * @param NewBinding Binding Data that should replace the original one specified by BindingToReplaceGuid.
906 */
907 MOVIESCENE_API void ReplaceBinding(const FGuid& BindingToReplaceGuid, const FMovieSceneBinding& NewBinding);
908
909#if WITH_EDITORONLY_DATA
913 {
914 return ObjectsToLabels;
915 }
916
918 void SetSelectionRange(TRange<FFrameNumber> Range)
919 {
920 SelectionRange.Value = Range;
921 }
922
929 MOVIESCENE_API void SetObjectDisplayName(const FGuid& ObjectId, const FText& DisplayName);
930
935
940
945
950
955
960
965
970
974 UE_DEPRECATED(5.7, "GetSoloNodes is now deprecated. Use FindDecoration")
975 TArray<FString>& GetSoloNodes() { return EditorData.SoloNodes; }
976
980 UE_DEPRECATED(5.7, "GetMuteNodes is now deprecated. Use FindDecoration")
981 TArray<FString>& GetMuteNodes() { return EditorData.MuteNodes; }
982
983 //WIP Set of Delegates
988#endif
989
998 MOVIESCENE_API void SetPlaybackRange(FFrameNumber Start, int32 Duration, bool bAlwaysMarkDirty = true);
999
1007 MOVIESCENE_API void SetPlaybackRange(const TRange<FFrameNumber>& NewRange, bool bAlwaysMarkDirty = true);
1008
1015 MOVIESCENE_API void SetWorkingRange(double Start, double End);
1016
1023 MOVIESCENE_API void SetViewRange(double Start, double End);
1024
1025#if WITH_EDITORONLY_DATA
1026
1027public:
1028
1029 /*
1030 * @return Returns whether this movie scene is read only
1031 */
1032 bool IsReadOnly() const { return bReadOnly; }
1033
1037 void SetReadOnly(bool bInReadOnly) { bReadOnly = bInReadOnly; }
1038
1043
1047 MOVIESCENE_API void SetPlaybackRangeLocked(bool bLocked);
1048
1053
1057 MOVIESCENE_API void SetMarkedFramesLocked(bool bLocked);
1058
1063 {
1064 return EditorData;
1065 }
1067 {
1068 return EditorData;
1069 }
1070
1072 {
1074 }
1075
1076 /*
1077 * @return Whether the section is in a group
1078 */
1080
1081 /*
1082 * Create a group containing InSections, merging any existing groups the sections are in
1083 */
1085
1086 /*
1087 * Remove InSection from any group it currently is in
1088 */
1090
1091 /*
1092 * @return The group containing the InSection, or a nullptr if InSection is not grouped.
1093 */
1095
1096 /*
1097 * Cleans stale UMovieSceneSection pointers, and removes any section groups which are no longer valid, e.g. contain less that two valid sections
1098 */
1100
1102
1103#endif // WITH_EDITORONLY_DATA
1104
1105public:
1106
1107 /*
1108 * @return Return the user marked frames
1109 */
1110 const TArray<FMovieSceneMarkedFrame>& GetMarkedFrames() const { return MarkedFrames; }
1111
1112 /*
1113 * Sets the frame number for the given marked frame index. Does not maintain sort. Call SortMarkedFrames
1114 *
1115 * @InMarkIndex The given user marked frame index to edit
1116 * @InFrameNumber The frame number to set
1117 */
1119
1120 /*
1121 * Add a given user marked frame.
1122 * A unique label will be generated if the marked frame label is empty
1123 *
1124 * @InMarkedFrame The given user marked frame to add
1125 * @return The index to the newly added marked frame
1126 */
1128
1129 /*
1130 * Delete the user marked frame by index.
1131 *
1132 * @DeleteIndex The index to the user marked frame to delete
1133 */
1134 MOVIESCENE_API void DeleteMarkedFrame(int32 DeleteIndex);
1135
1136 /*
1137 * Delete all user marked frames
1138 */
1139 MOVIESCENE_API void DeleteMarkedFrames();
1140
1141 /*
1142 * Sort the marked frames in chronological order
1143 */
1144 MOVIESCENE_API void SortMarkedFrames();
1145
1146 /*
1147 * Find the user marked frame by label
1148 *
1149 * @InLabel The label to the user marked frame to find
1150 */
1151 MOVIESCENE_API int32 FindMarkedFrameByLabel(const FString& InLabel) const;
1152
1153 /*
1154 * Find the user marked frame by frame number
1155 *
1156 * @InFrameNumber The frame number of the user marked frame to find
1157 */
1158 MOVIESCENE_API int32 FindMarkedFrameByFrameNumber(FFrameNumber InFrameNumber) const;
1159
1160 /*
1161 * Find the next/previous user marked frame from the given frame number
1162 *
1163 * @InFrameNumber The frame number to find the next/previous user marked frame from
1164 * @bForward Find forward from the given frame number.
1165 */
1166 MOVIESCENE_API int32 FindNextMarkedFrame(FFrameNumber InFrameNumber, bool bForward);
1167
1168#if WITH_EDITORONLY_DATA
1169 /*
1170 * Set whether this scene's marked frames should be shown globally
1171 */
1173
1174 /*
1175 * Toggle whether this scene's marked frames should be shown globally
1176 */
1178
1179 /*
1180 * Returns whether this scene's marked frames should be shown globally
1181 */
1183#endif
1184
1185 /*
1186 * Retrieve all the tagged binding groups for this movie scene
1187 */
1189 {
1190 return BindingGroups;
1191 }
1192
1193 /*
1194 * Add a new binding group for the specified name
1195 */
1196 MOVIESCENE_API void AddNewBindingTag(const FName& NewTag);
1197
1198 /*
1199 * Tag the specified binding ID with the specified name
1200 */
1201 MOVIESCENE_API void TagBinding(const FName& NewTag, const UE::MovieScene::FFixedObjectBindingID& BindingToTag);
1202
1203 /*
1204 * Remove a tag from the specified object binding
1205 */
1206 MOVIESCENE_API void UntagBinding(const FName& Tag, const UE::MovieScene::FFixedObjectBindingID& Binding);
1207
1208 /*
1209 * Remove the specified tag from any binding and forget about it completely
1210 */
1211 MOVIESCENE_API void RemoveTag(const FName& TagToRemove);
1212
1213 /* Called during compilation to add a new generated condition to store in the movie scene. */
1215
1216 /* Called by the compiler to empty the list of generated conditions*/
1217 void ResetGeneratedConditions() { GeneratedConditions.Reset(); }
1218
1219protected:
1220
1226 MOVIESCENE_API void RemoveBinding(const FGuid& Guid);
1227
1228
1235 int32 IndexOfBinding(const FGuid& ForGuid) const;
1236
1243 int32 IndexOfSpawnable(const FGuid& ForGuid) const;
1244
1245
1252 int32 IndexOfPossessable(const FGuid& ForGuid) const;
1253
1254protected:
1255
1257 MOVIESCENE_API virtual void PreSave(FObjectPreSaveContext ObjectSaveContext) override;
1258 MOVIESCENE_API virtual void OnDecorationAdded(UObject* NewDecoration) override;
1259 MOVIESCENE_API virtual void OnDecorationRemoved(UObject* NewDecoration) override;
1260
1262 MOVIESCENE_API void UpgradeTimeRanges();
1263
1264private:
1265
1266#if WITH_EDITOR
1268 MOVIESCENE_API void RemoveNullTracks();
1269#endif
1270
1271private:
1272
1278 UPROPERTY()
1279 TArray<FMovieSceneSpawnable> Spawnables;
1280
1282 UPROPERTY()
1283 TArray<FMovieScenePossessable> Possessables;
1284
1286 UPROPERTY()
1287 TArray<FMovieSceneBinding> ObjectBindings;
1288
1290 UPROPERTY()
1291 TMap<FName, FMovieSceneObjectBindingIDs> BindingGroups;
1292
1294 UPROPERTY(Instanced)
1296
1298 UPROPERTY(Instanced)
1299 TObjectPtr<UMovieSceneTrack> CameraCutTrack;
1300
1302 UPROPERTY(Instanced)
1303 TObjectPtr<UMovieSceneClock> CustomClock;
1304
1306 UPROPERTY()
1307 FMovieSceneFrameRange SelectionRange;
1308
1310 UPROPERTY()
1312
1314 UPROPERTY()
1316
1318 UPROPERTY()
1320
1322 UPROPERTY()
1323 EMovieSceneEvaluationType EvaluationType;
1324
1325 UPROPERTY()
1326 EUpdateClockSource ClockSource;
1327
1328#if WITH_EDITORONLY_DATA
1329 UPROPERTY()
1331#endif
1332
1334 UPROPERTY()
1335 TArray<FMovieSceneMarkedFrame> MarkedFrames;
1336
1337 /* List of compiler generated group conditions, stored here to prevent garbage collection. */
1338 UPROPERTY()
1339 TArray<TObjectPtr<UMovieSceneGroupCondition>> GeneratedConditions;
1340
1341#if WITH_EDITORONLY_DATA
1342
1344 UPROPERTY()
1345 bool bReadOnly;
1346
1348 UPROPERTY()
1350
1352 UPROPERTY()
1354
1356 UPROPERTY()
1358
1360 UPROPERTY()
1362
1364 UPROPERTY()
1366
1368 UPROPERTY()
1370
1372 UPROPERTY(meta = (DeprecatedProperty, DeprecationMessage = "Solo nodes are now saved in FMovieSceneEditorData as transient"))
1374
1376 UPROPERTY(meta = (DeprecatedProperty, DeprecationMessage = "Mute nodes are now saved in FMovieSceneEditorData as transient"))
1378
1380 UPROPERTY()
1382
1384 UPROPERTY()
1386
1388 UPROPERTY()
1390
1391private:
1392
1393 UPROPERTY()
1394 float InTime_DEPRECATED;
1395
1396 UPROPERTY()
1397 float OutTime_DEPRECATED;
1398
1399 UPROPERTY()
1400 float StartTime_DEPRECATED;
1401
1402 UPROPERTY()
1403 float EndTime_DEPRECATED;
1404
1405 UPROPERTY()
1407
1408 UPROPERTY()
1410
1411 UPROPERTY()
1413
1414 //delegates
1415 private:
1417#endif
1418};
virtual bool IsPostLoadThreadSafe() const override
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
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 DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define DECLARE_DELEGATE_RetVal_OneParam(ReturnValueType, DelegateName, Param1Type)
Definition DelegateCombinations.h:54
#define DECLARE_MULTICAST_DELEGATE_FourParams(DelegateName, Param1Type, Param2Type, Param3Type, Param4Type)
Definition DelegateCombinations.h:76
#define DECLARE_EVENT(OwningType, EventName)
Definition DelegateCombinations.h:32
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
@ Num
Definition MetalRHIPrivate.h:234
EMovieSceneEvaluationType
Definition MovieSceneFwd.h:56
EUpdateClockSource
Definition MovieSceneFwd.h:69
const bool
Definition NetworkReplayStreaming.h:178
#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
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition Archive.h:1208
Definition NameTypes.h:617
Definition ObjectSaveContext.h:244
Definition Text.h:385
Definition MovieScene.Build.cs:6
Definition ArrayView.h:139
Definition Array.h:670
UE_NODEBUG UE_FORCEINLINE_HINT RangedForIteratorType end()
Definition Array.h:3391
UE_NODEBUG UE_FORCEINLINE_HINT RangedForIteratorType begin()
Definition Array.h:3389
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition Range.h:50
Definition SharedPointer.h:692
Definition SubclassOf.h:30
Definition Class.h:3793
Definition MovieSceneClock.h:22
Definition MovieSceneDecorationContainer.h:110
Definition MovieSceneFolder.h:34
Definition MovieSceneGroupCondition.h:37
Definition MovieScene.h:301
Definition MovieScene.h:242
Definition MovieSceneSection.h:243
Definition MovieSceneTrack.h:206
Definition MovieScene.h:358
TrackClass * AddTrack()
Definition MovieScene.h:660
void ResetGeneratedConditions()
Definition MovieScene.h:1217
void AddGeneratedCondition(UMovieSceneGroupCondition *InGeneratedCondition)
Definition MovieScene.h:1214
TrackClass * FindTrack(const FGuid &ObjectGuid, const FName &TrackName=NAME_None) const
Definition MovieScene.h:562
T * GetCustomClockAs() const
Definition MovieScene.h:868
TRange< FFrameNumber > GetPlaybackRange() const
Definition MovieScene.h:799
TRange< FFrameNumber > GetSelectionRange() const
Definition MovieScene.h:785
const TArray< UMovieSceneTrack * > & GetTracks() const
Definition MovieScene.h:702
EMovieSceneEvaluationType GetEvaluationType() const
Definition MovieScene.h:836
const TArray< FMovieSceneMarkedFrame > & GetMarkedFrames() const
Definition MovieScene.h:1110
UE::MovieScene::TDataEventContainer< UE::MovieScene::ISequenceDataEventHandler > EventHandlers
Definition MovieScene.h:379
FFrameRate GetDisplayRate() const
Definition MovieScene.h:820
TrackClass * AddTrack(const FGuid &ObjectGuid)
Definition MovieScene.h:536
TrackClass * FindTrack() const
Definition MovieScene.h:691
void SetDisplayRate(FFrameRate InDisplayRate)
Definition MovieScene.h:828
EUpdateClockSource GetClockSource() const
Definition MovieScene.h:857
const TArray< FMovieSceneBinding > & GetBindings() const
Definition MovieScene.h:773
void SetEvaluationType(EMovieSceneEvaluationType InNewEvaluationType)
Definition MovieScene.h:844
FFrameRate GetTickResolution() const
Definition MovieScene.h:807
UMovieSceneClock * GetCustomClock() const
Definition MovieScene.h:862
const TMap< FName, FMovieSceneObjectBindingIDs > & AllTaggedBindings() const
Definition MovieScene.h:1188
Definition Object.h:95
@ Range
Definition EnvQueryTypes.h:81
@ SetReadOnly
Definition NetworkMessage.h:37
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition FrameNumber.h:18
Definition FrameRate.h:21
Definition Guid.h:109
Definition MovieSceneBinding.h:25
Definition MovieScene.h:86
TRange< double > GetViewRange() const
Definition MovieScene.h:94
TRange< double > GetWorkingRange() const
Definition MovieScene.h:99
Definition MovieSceneFrameMigration.h:28
Definition MovieSceneMarkedFrame.h:13
Definition MovieSceneObjectBindingID.h:203
Definition MovieScene.h:176
Definition MovieScenePossessable.h:35
Definition MovieScene.h:188
TArray< TWeakObjectPtr< UMovieSceneSection > >::RangedForIteratorType begin()
Definition MovieScene.h:231
int32 Num() const
Definition MovieScene.h:206
TArray< TWeakObjectPtr< UMovieSceneSection > >::RangedForConstIteratorType begin() const
Definition MovieScene.h:232
bool operator!=(const FMovieSceneSectionGroup &Other) const
Definition MovieScene.h:222
MOVIESCENE_API void Remove(const UMovieSceneSection &Section)
MOVIESCENE_API bool Contains(const UMovieSceneSection &Section) const
TArray< TWeakObjectPtr< UMovieSceneSection > >::RangedForIteratorType end()
Definition MovieScene.h:233
MOVIESCENE_API void Append(const FMovieSceneSectionGroup &SectionGroup)
TArray< TWeakObjectPtr< UMovieSceneSection > >::RangedForConstIteratorType end() const
Definition MovieScene.h:234
MOVIESCENE_API void Clean()
MOVIESCENE_API void Add(UMovieSceneSection &Section)
Definition MovieSceneSpawnable.h:40
Definition MovieSceneTimeController.h:14
Definition MovieSceneSection.h:182
Definition MovieScene.h:153
FString ToString() const
Definition MovieScene.h:164
Definition EditorSequenceNavigationDefs.h:166
Definition SoftObjectPath.h:56
Definition ObjectPtr.h:488
Definition WeakObjectPtrTemplates.h:25
Definition MovieSceneObjectBindingID.h:114
Definition MovieSceneDataEventContainer.h:50