UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneSequenceHierarchy.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 "CoreMinimal.h"
9#include "CoreTypes.h"
15#include "HAL/PlatformCrt.h"
16#include "Misc/FrameNumber.h"
17#include "Misc/FrameRate.h"
18#include "Misc/Guid.h"
23#include "UObject/Class.h"
24#include "UObject/NameTypes.h"
29
30#include "MovieSceneSequenceHierarchy.generated.h"
31
36template <typename ElementType> class TRange;
37
41USTRUCT()
43{
45
46
50
55
56 /*~ Defined constructors, operators and destructor to work around deprecation warnings on linux */
62
66 MOVIESCENE_API UMovieSceneSequence* GetSequence() const;
67
71 MOVIESCENE_API UMovieSceneSequence* GetLoadedSequence() const;
72
77
81 FGuid GetSubSectionSignature() const { return SubSectionSignature; }
82
86 UE_DEPRECATED(5.5, "This function is no longer supported")
87 MOVIESCENE_API FMovieSceneSectionParameters ToSubSectionParameters() const;
88
90 UPROPERTY(meta=(AllowedClasses="/Script/MovieScene.MovieSceneSequence"))
92
94 UPROPERTY()
95 FMovieSceneSequenceTransform OuterToInnerTransform;
96
98 UPROPERTY()
99 FMovieSceneSequenceTransform RootToSequenceTransform;
100
101#if WITH_EDITORONLY_DATA
102
104 UPROPERTY()
106
108 UPROPERTY()
110
111 UPROPERTY()
112 FMovieSceneTransformBreadcrumbs StartTimeBreadcrumbs;
113
114 UPROPERTY()
115 FMovieSceneTransformBreadcrumbs EndTimeBreadcrumbs;
116
117#endif // WITH_EDITORONLY_DATA
118
120 UPROPERTY()
122
124 UPROPERTY()
125 FMovieSceneSequenceID DeterministicSequenceID;
126
128 UPROPERTY()
130
132 UPROPERTY()
133 FMovieSceneFrameRange ParentPlayRange;
134
136 UPROPERTY()
138
140 UPROPERTY()
142
144 UPROPERTY()
145 int16 HierarchicalBias;
146
148 UPROPERTY()
150
152 UPROPERTY()
153 bool bCanLoop = false;
154
156 UPROPERTY()
158
160 UPROPERTY()
161 FName SectionPath;
162
163#if WITH_EDITORONLY_DATA
164
166 UE_DEPRECATED(5.5, "Please use GetSequence()->GetMovieScene()->GetPlaybackRange().")
168 UE_DEPRECATED(5.5, "This field is no longer supported.")
170 UE_DEPRECATED(5.5, "This field is no longer supported.")
172 UE_DEPRECATED(5.5, "This field is no longer supported.")
174 UE_DEPRECATED(5.5, "This field is no longer used")
176
177#endif
178
179 /* Optional condition pulled off of the UMovieSceneSubSection or UMovieSceneSubTrack */
180 UPROPERTY()
182
183
184private:
185
188
190 UPROPERTY()
191 FGuid SubSectionSignature;
192};
193
197USTRUCT()
223
224USTRUCT()
253
254USTRUCT()
256{
258
260 {
261 return A.Data == B.Data;
262 }
263
265 {
266 Ar << Data;
267 return true;
268 }
269
271};
272template<> struct TStructOpsTypeTraits<FMovieSceneSubSequenceTree> : public TStructOpsTypeTraitsBase2<FMovieSceneSubSequenceTree> { enum { WithSerializer = true, WithIdenticalViaEquality = true }; };
273
277USTRUCT()
279{
281
285
293 {
294 return SequenceID == MovieSceneSequenceID::Root ? &RootNode : Hierarchy.Find(SequenceID);
295 }
296
304 {
305 return SequenceID == MovieSceneSequenceID::Root ? &RootNode : Hierarchy.Find(SequenceID);
306 }
307
315 {
316 return SequenceID == MovieSceneSequenceID::Root ? nullptr : SubSequences.Find(SequenceID);
317 }
318
326 {
327 return SequenceID == MovieSceneSequenceID::Root ? nullptr : SubSequences.Find(SequenceID);
328 }
329
336 {
337 const FMovieSceneSubSequenceData* SubSequenceData = FindSubData(SequenceID);
338 return SubSequenceData ? SubSequenceData->GetSequence(): nullptr;
339 }
340
349
354
359
360 UE_DEPRECATED(5.5, "The RootToSequenceWarpCounter parameter is no longer required or supported")
362
367 {
368 return SequenceID == MovieSceneSequenceID::Root ? nullptr : SubSequences.Find(SequenceID);
369 }
370
375
381
384 {
385 return SubSequences;
386 }
387
393
395 {
396 return Tree.Data;
397 }
398
400 {
401 return AccumulatedNetworkMask;
402 }
403
405 {
406 AccumulatedNetworkMask &= Mask;
407 }
408
410 {
411 return RootTransform;
412 }
413
414#if !NO_LOGGING
415 void LogHierarchy() const;
416 void LogSubSequenceTree() const;
417#endif
418
419private:
420
421
422 UPROPERTY()
424
425 UPROPERTY()
427
428 UPROPERTY()
429 FMovieSceneSequenceTransform RootTransform;
430
432 UPROPERTY()
434
436 UPROPERTY()
438
445 UPROPERTY()
447};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int16 int16
A 16-bit signed integer.
Definition Platform.h:1123
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FArchive & operator<<(FArchive &Ar, FEnvQueryDebugProfileData::FStep &Data)
Definition EnvQueryTypes.cpp:489
EMovieSceneServerClientMask
Definition MovieSceneFwd.h:135
EMovieSceneSubSectionFlags
Definition MovieSceneSectionParameters.h:17
ESectionEvaluationFlags
Definition MovieSceneSegment.h:19
TCallTraits< FMovieSceneSequenceID >::ParamType FMovieSceneSequenceIDRef
Definition MovieSceneSequenceID.h:93
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition Archive.h:1208
Definition NameTypes.h:617
Definition MovieScene.Build.cs:6
Definition ArrayView.h:139
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition Range.h:50
bool operator==(const TRange &Other) const
Definition Range.h:105
Definition MovieSceneCondition.h:88
Definition MovieSceneSequence.h:73
Definition MovieSceneSubSection.h:96
Definition MovieSceneSequenceID.h:96
constexpr FMovieSceneSequenceID Root
Definition MovieSceneSequenceID.h:98
@ false
Definition radaudio_common.h:23
Definition FrameNumber.h:18
Definition FrameRate.h:21
Definition Guid.h:109
Definition MovieSceneFrameMigration.h:28
Definition MovieSceneSectionParameters.h:57
Definition MovieSceneSequenceHierarchy.h:199
FMovieSceneSequenceHierarchyNode(FMovieSceneSequenceIDRef InParentID)
Definition MovieSceneSequenceHierarchy.h:211
Definition MovieSceneSequenceHierarchy.h:279
const FMovieSceneSubSequenceData * FindSubData(FMovieSceneSequenceIDRef SequenceID) const
Definition MovieSceneSequenceHierarchy.h:314
EMovieSceneServerClientMask GetAccumulatedNetworkMask() const
Definition MovieSceneSequenceHierarchy.h:399
FMovieSceneSequenceHierarchyNode * FindNode(FMovieSceneSequenceIDRef SequenceID)
Definition MovieSceneSequenceHierarchy.h:303
void SetRootTransform(FMovieSceneSequenceTransform &&InTransform)
Definition MovieSceneSequenceHierarchy.h:371
const FMovieSceneSequenceTransform & GetRootTransform() const
Definition MovieSceneSequenceHierarchy.h:409
void AllSubSequenceIDs(TArray< FMovieSceneSequenceID > &OutSequenceIDs) const
Definition MovieSceneSequenceHierarchy.h:377
const TMap< FMovieSceneSequenceID, FMovieSceneSequenceHierarchyNode > & AllSubSequenceNodes() const
Definition MovieSceneSequenceHierarchy.h:389
UMovieSceneSequence * FindSubSequence(FMovieSceneSequenceIDRef SequenceID) const
Definition MovieSceneSequenceHierarchy.h:335
void AccumulateNetworkMask(EMovieSceneServerClientMask Mask)
Definition MovieSceneSequenceHierarchy.h:404
const TMovieSceneEvaluationTree< FMovieSceneSubSequenceTreeEntry > & GetTree() const
Definition MovieSceneSequenceHierarchy.h:394
const FMovieSceneSequenceHierarchyNode * FindNode(FMovieSceneSequenceIDRef SequenceID) const
Definition MovieSceneSequenceHierarchy.h:292
const TMap< FMovieSceneSequenceID, FMovieSceneSubSequenceData > & AllSubSequenceData() const
Definition MovieSceneSequenceHierarchy.h:383
FMovieSceneSubSequenceData * FindSubData(FMovieSceneSequenceIDRef SequenceID)
Definition MovieSceneSequenceHierarchy.h:325
Definition MovieSceneSequenceID.h:13
Definition MovieSceneSequenceInstanceData.h:61
Definition MovieSceneSequenceTransform.h:625
Definition MovieSceneSequenceHierarchy.h:43
MOVIESCENE_API FMovieSceneSubSequenceData & operator=(FMovieSceneSubSequenceData &&)
MOVIESCENE_API FMovieSceneSubSequenceData(const FMovieSceneSubSequenceData &)
MOVIESCENE_API FMovieSceneSubSequenceData(FMovieSceneSubSequenceData &&)
MOVIESCENE_API FMovieSceneSubSequenceData & operator=(const FMovieSceneSubSequenceData &)
MOVIESCENE_API ~FMovieSceneSubSequenceData()
FGuid GetSubSectionSignature() const
Definition MovieSceneSequenceHierarchy.h:81
Definition MovieSceneSequenceHierarchy.h:226
MOVIESCENE_API FMovieSceneSubSequenceTreeEntry & operator=(FMovieSceneSubSequenceTreeEntry &&)
MOVIESCENE_API ~FMovieSceneSubSequenceTreeEntry()
MOVIESCENE_API FMovieSceneSubSequenceTreeEntry(FMovieSceneSubSequenceTreeEntry &&)
FMovieSceneSequenceID SequenceID
Definition MovieSceneSequenceHierarchy.h:247
ESectionEvaluationFlags Flags
Definition MovieSceneSequenceHierarchy.h:248
MOVIESCENE_API FMovieSceneSubSequenceTreeEntry(const FMovieSceneSubSequenceTreeEntry &)
MOVIESCENE_API FMovieSceneSubSequenceTreeEntry & operator=(const FMovieSceneSubSequenceTreeEntry &)
MOVIESCENE_API FMovieSceneSubSequenceTreeEntry()
Definition MovieSceneSequenceHierarchy.h:256
bool Serialize(FArchive &Ar)
Definition MovieSceneSequenceHierarchy.h:264
TMovieSceneEvaluationTree< FMovieSceneSubSequenceTreeEntry > Data
Definition MovieSceneSequenceHierarchy.h:270
Definition MovieSceneSequenceTransform.h:77
Definition MovieSceneSequenceTransform.h:203
Definition SoftObjectPath.h:56
Definition MovieSceneEvaluationTree.h:603
Definition SoftObjectPtr.h:174
Definition StructOpsTypeTraits.h:11
@ WithIdenticalViaEquality
Definition StructOpsTypeTraits.h:18
@ WithSerializer
Definition StructOpsTypeTraits.h:23
Definition StructOpsTypeTraits.h:46
Definition WeakObjectPtrTemplates.h:25