UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneSection.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Containers/Array.h"
9#include "Containers/Map.h"
10#include "CoreMinimal.h"
11#include "CoreTypes.h"
18#include "HAL/PlatformCrt.h"
19#include "Math/Range.h"
20#include "Math/RangeBound.h"
22#include "Misc/FrameNumber.h"
24#include "Misc/FrameRate.h"
25#include "Misc/FrameTime.h"
26#include "Misc/Optional.h"
27#include "Misc/Timecode.h"
32#include "UObject/NameTypes.h"
36
37#include "MovieSceneSection.generated.h"
38
39class FArchive;
40class FStructOnScope;
44class UObject;
46enum class ECookOptimizationFlags;
48struct FFrame;
49struct FFrameRate;
50struct FGuid;
51struct FKeyHandle;
60
61namespace UE::MovieScene
62{
63 class ISectionEventHandler;
64 struct FEntityImportParams;
65 struct FFixedObjectBindingID;
66 struct FImportedEntity;
67 struct FSharedPlaybackState;
68 struct IRetimingInterface;
69}
70
73{
75 Static,
76
79};
80
85
86USTRUCT()
88{
90
92 : bCanEditCompletionMode(false)
93 , CompletionMode(EMovieSceneCompletionMode::KeepState)
94 {}
95
97 {
98 bCanEditCompletionMode = true;
99 CompletionMode = NewCompletionMode;
100 }
101
102 UPROPERTY()
103 bool bCanEditCompletionMode;
104
106 UPROPERTY(EditAnywhere, DisplayName="When Finished", Category="Section")
108};
109
110USTRUCT()
112{
114
116 : AutoEaseInDuration(0), AutoEaseOutDuration(0)
117 , EaseIn(nullptr), bManualEaseIn(false), ManualEaseInDuration(0)
118 , EaseOut(nullptr), bManualEaseOut(false), ManualEaseOutDuration(0)
119#if WITH_EDITORONLY_DATA
121#endif
122 {}
123
124public:
125
127 {
128 return bManualEaseIn ? ManualEaseInDuration : AutoEaseInDuration;
129 }
130
132 {
133 return bManualEaseOut ? ManualEaseOutDuration : AutoEaseOutDuration;
134 }
135
136public:
137
139 UPROPERTY()
140 int32 AutoEaseInDuration;
141
143 UPROPERTY()
144 int32 AutoEaseOutDuration;
145
146 UPROPERTY()
148
150 UPROPERTY()
151 bool bManualEaseIn;
152
154 UPROPERTY()
155 int32 ManualEaseInDuration;
156
157 UPROPERTY()
159
161 UPROPERTY()
162 bool bManualEaseOut;
163
165 UPROPERTY()
166 int32 ManualEaseOutDuration;
167
168#if WITH_EDITORONLY_DATA
169 UPROPERTY()
171 UPROPERTY()
173 UPROPERTY()
175 UPROPERTY()
177#endif
178};
179
180USTRUCT(BlueprintType)
182{
184
188
192
194 {
195 return Timecode == Other.Timecode;
196 }
198 {
199 return Timecode != Other.Timecode;
200 }
201
202public:
203
205 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Timecode")
207};
212{
213 None = 0x000,
214
215 TranslationX = 0x001,
216 TranslationY = 0x002,
217 TranslationZ = 0x004,
219
220 RotationX = 0x008,
221 RotationY = 0x010,
222 RotationZ = 0x020,
224
225 ScaleX = 0x040,
226 ScaleY = 0x080,
227 ScaleZ = 0x100,
229
231
232 Weight = 0x200,
233
235};
236
240UCLASS(abstract, DefaultToInstanced, MinimalAPI, BlueprintType)
243{
245
246public:
247
248 UPROPERTY(EditAnywhere, Category="Section", meta=(ShowOnlyInnerProperties))
250
251 UE::MovieScene::TDataEventContainer<UE::MovieScene::ISectionEventHandler> EventHandlers;
252
253public:
254
260 MOVIESCENE_API bool TryModify(bool bAlwaysMarkDirty=true);
261
262 /*
263 * A section is read only if it or its outer movie are read only
264 *
265 * @return Returns whether this section is read only
266 */
267 MOVIESCENE_API bool IsReadOnly() const;
268
272 TRange<FFrameNumber> GetRange() const
273 {
274 return SectionRange.Value;
275 }
276
282 {
283 TRangeBound<FFrameNumber> SectionLower = SectionRange.Value.GetLowerBound();
284 TRangeBound<FFrameNumber> SectionUpper = SectionRange.Value.GetUpperBound();
285
286 // Make exclusive lower bounds inclusive on the next frame
287 if (SectionLower.IsExclusive())
288 {
290 }
291 // Make inclusive upper bounds exclusive on the next frame
292 if (SectionUpper.IsInclusive())
293 {
295 }
297 }
298
303 {
304 FFrameNumber StartOffset = HasStartFrame() ? FMath::Min(GetInclusiveStartFrame(), InFrame) - GetInclusiveStartFrame() : 0;
305
307 if (StartOffset != 0)
308 {
309 FixupRelativeKeyframes(StartOffset);
310 }
311 }
312
319 {
320 const bool bHasChanged = NewRange != SectionRange.Value;
321 if (IsReadOnly() || !bHasChanged)
322 {
323 return;
324 }
325
326 // Skip TryModify for objects that still need initialization (i.e. we're in the object's constructor), because modifying objects in their constructor can lead to non-deterministic cook issues.
327 bool bCanSetRange = true;
328 if (!HasAnyFlags(RF_NeedInitialization))
329 {
330 bCanSetRange = TryModify();
331 }
332
333 const bool bInvariants = ensure(
334 NewRange.GetLowerBound().IsOpen() || NewRange.GetUpperBound().IsOpen()
335 || NewRange.GetLowerBoundValue() <= NewRange.GetUpperBoundValue()
336 );
338 {
339 SectionRange.Value = NewRange;
340 }
341 }
342
347 bool HasStartFrame() const
348 {
349 return !SectionRange.Value.GetLowerBound().IsOpen();
350 }
351
356 bool HasEndFrame() const
357 {
358 return !SectionRange.Value.GetUpperBound().IsOpen();
359 }
360
368 {
369 TRangeBound<FFrameNumber> LowerBound = SectionRange.GetLowerBound();
370 return LowerBound.IsInclusive() ? LowerBound.GetValue() : LowerBound.GetValue() + 1;
371 }
372
380 {
381 TRangeBound<FFrameNumber> UpperBound = SectionRange.GetUpperBound();
382 return UpperBound.IsInclusive() ? UpperBound.GetValue() + 1 : UpperBound.GetValue();
383 }
384
389 MOVIESCENE_API virtual void SetStartFrame(TRangeBound<FFrameNumber> NewStartFrame);
390
395 MOVIESCENE_API virtual void SetEndFrame(TRangeBound<FFrameNumber> NewEndFrame);
396
404 {
405 return SectionRange.Value.Contains(Position);
406 }
407
408 /*
409 * Returns the range to auto size this section to, if there is one. This defaults to the
410 * range of all the keys.
411 *
412 * @return the range of this section to auto size to
413 */
414 MOVIESCENE_API virtual TOptional<TRange<FFrameNumber> > GetAutoSizeRange() const;
415
419 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
420 EMovieSceneCompletionMode GetCompletionMode() const
421 {
422 return EvalOptions.CompletionMode;
423 }
424
425 /*
426 * Sets this section's completion mode
427 */
428 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
430 {
431 EvalOptions.CompletionMode = InCompletionMode;
432 }
433
437 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
438 FOptionalMovieSceneBlendType GetBlendType() const
439 {
440 return BlendType;
441 }
442
446 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
448 {
449 if (GetSupportedBlendTypes().Contains(InBlendType))
450 {
451 BlendType = InBlendType;
452 }
453 }
454
458 MOVIESCENE_API FMovieSceneBlendTypeField GetSupportedBlendTypes() const;
459
464 MOVIESCENE_API int32 GetBlendingOrder() const;
465
471 MOVIESCENE_API virtual void MoveSection(FFrameNumber DeltaTime);
472
478 MOVIESCENE_API TRange<FFrameNumber> ComputeEffectiveRange() const;
479
488
496 MOVIESCENE_API virtual void TrimSection(FQualifiedFrameTime TrimTime, bool bTrimLeft, bool bDeleteKeys);
497
505
510 {
511 return nullptr;
512 }
513
521 {
523 {
524 if (SectionRange.Value.GetLowerBound().IsClosed())
525 {
526 OutSnapTimes.Add(SectionRange.Value.GetLowerBoundValue());
527 }
528
529 if (SectionRange.Value.GetUpperBound().IsClosed())
530 {
531 OutSnapTimes.Add(SectionRange.Value.GetUpperBoundValue());
532 }
533 }
534 }
535
537 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
538 MOVIESCENE_API void SetRowIndex(int32 NewRowIndex);
539
541 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
542 int32 GetRowIndex() const { return RowIndex; }
543
545 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
546 void SetOverlapPriority(int32 NewPriority)
547 {
548 OverlapPriority = NewPriority;
549 }
550
552 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
553 int32 GetOverlapPriority() const
554 {
555 return OverlapPriority;
556 }
557
567 virtual MOVIESCENE_API const UMovieSceneSection* OverlapsWithSections(const TArray<UMovieSceneSection*>& Sections, int32 TrackDelta = 0, int32 TimeDelta = 0) const;
568
577 virtual MOVIESCENE_API void InitialPlacement(const TArray<UMovieSceneSection*>& Sections, FFrameNumber InStartTime, int32 InDuration, bool bAllowMultipleRows);
578
587 virtual MOVIESCENE_API void InitialPlacementOnRow(const TArray<UMovieSceneSection*>& Sections, FFrameNumber InStartTime, int32 InDuration, int32 InRowIndex);
588
590 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
591 void SetIsActive(bool bInIsActive) { if (TryModify()) { bIsActive = bInIsActive; } }
592 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
593 bool IsActive() const { return bIsActive; }
594
596 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
597 void SetIsLocked(bool bInIsLocked) { Modify(); bIsLocked = bInIsLocked; }
598 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
599 bool IsLocked() const { return bIsLocked; }
600
602 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
603 void SetPreRollFrames(int32 InPreRollFrames) { PreRollFrames = InPreRollFrames; }
604 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
605 int32 GetPreRollFrames() const { return PreRollFrames.Value; }
606
608 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
609 void SetPostRollFrames(int32 InPostRollFrames) { PostRollFrames = InPostRollFrames; }
610 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
611 int32 GetPostRollFrames() const { return PostRollFrames.Value; }
612
614 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
615 MOVIESCENE_API void SetColorTint(const FColor& InColorTint);
617 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
618 MOVIESCENE_API FColor GetColorTint() const;
619
621 virtual TOptional<FFrameTime> GetOffsetTime() const { return TOptional<FFrameTime>(); }
622
623 /* Migrate the frame times of the movie scene section from the source frame rate to the destination frame rate */
624 virtual void MigrateFrameTimes(FFrameRate SourceRate, FFrameRate DestinationRate) {}
626
629
632
636 MOVIESCENE_API void GetOverlappingSections(TArray<UMovieSceneSection*>& OutSections, bool bSameRow, bool bIncludeThis);
637
638 /* Returns whether this section can have an open lower bound. This will generally be false if sections of this type cannot be blended and there is another section on the same row before this one.*/
639 MOVIESCENE_API bool CanHaveOpenLowerBound() const;
640
641 /* Returns whether this section can have an open upper bound. This will generally be false if sections of this type cannot be blended and there is another section on the same row after this one.*/
642 MOVIESCENE_API bool CanHaveOpenUpperBound() const;
643
647 MOVIESCENE_API float EvaluateEasing(FFrameTime InTime) const;
648
653
654 MOVIESCENE_API TRange<FFrameNumber> GetEaseInRange() const;
655
656 MOVIESCENE_API TRange<FFrameNumber> GetEaseOutRange() const;
657
664 MOVIESCENE_API FMovieSceneChannelProxy& GetChannelProxy() const;
665
669 MOVIESCENE_API void InvalidateChannelProxy();
670
672 bool GetSupportsInfiniteRange() const { return bSupportsInfiniteRange; }
673
678 virtual bool ShowCurveForChannel(const void *Channel) const { return true; }
679
684 virtual float GetTotalWeightValue(FFrameTime InTime) const { return EvaluateEasing(InTime); }
685
686
692 MOVIESCENE_API virtual UObject* GetImplicitObjectOwner();
693
695 virtual UObject* GetSourceObject() const { return nullptr; }
696
697 void OnAddedToTrack(UMovieSceneTrack* Track);
698 void OnRemovedFromTrack();
699
700#if WITH_EDITOR
701 MOVIESCENE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
702
703 MOVIESCENE_API virtual void PostPaste();
704#endif
705
706#if WITH_EDITOR
707
713
717 MOVIESCENE_API virtual void RemoveForCook();
718
719#endif
720
721public:
722
724
725#if WITH_EDITORONLY_DATA
727#endif
728
729#if WITH_EDITORONLY_DATA
730
731public:
732
737
738private:
739
742
743#endif
744
745protected:
746
747 //~ UObject interface
748 MOVIESCENE_API virtual void PostInitProperties() override;
749 MOVIESCENE_API virtual bool IsPostLoadThreadSafe() const override;
750 MOVIESCENE_API virtual void PostDuplicate(bool bDuplicateForPIE) override;
751 MOVIESCENE_API virtual void PostRename(UObject* OldOuter, const FName OldName) override;
752 MOVIESCENE_API virtual void PostEditImport() override;
753 MOVIESCENE_API virtual void Serialize(FArchive& Ar) override;
754
755 MOVIESCENE_API virtual void OnDecorationAdded(UObject* NewDecoration) override;
756 MOVIESCENE_API virtual void OnDecorationRemoved(UObject* NewDecoration) override;
757
759 {
760 }
762 {
763 }
764
765 virtual void OnMoved(int32 DeltaTime) {}
766 virtual void OnDilated(float DilationFactor, FFrameNumber Origin) {}
767
768 MOVIESCENE_API void FixupRelativeKeyframes(FFrameNumber Offset);
769
771
772private:
773
777 MOVIESCENE_API virtual EMovieSceneChannelProxyType CacheChannelProxy();
778
779 void MoveSectionImpl(FFrameNumber DeltaTime);
780
781public:
782
783 UPROPERTY(EditAnywhere, Category="Easing", meta=(ShowOnlyInnerProperties))
785
787 UPROPERTY(EditAnywhere, Category="Section")
789
790#if WITH_EDITORONLY_DATA
792 UPROPERTY(EditAnywhere, Category="Section")
794#endif
795
797 UPROPERTY(EditAnywhere, Category="Section")
799
800private:
801
803 UPROPERTY(EditAnywhere, AdvancedDisplay, Category="Section", meta=(UIMin=0, UIFrameDisplayAs="NonMusical|Duration"))
804 FFrameNumber PreRollFrames;
805
807 UPROPERTY(EditAnywhere, AdvancedDisplay, Category="Section", meta=(UIMin=0, UIFrameDisplayAs="NonMusical|Duration"))
808 FFrameNumber PostRollFrames;
809
811 UPROPERTY()
812 int32 RowIndex;
813
815 UPROPERTY()
816 int32 OverlapPriority;
817
819 UPROPERTY(EditAnywhere, Category="Section")
820 uint32 bIsActive : 1;
821
823 UPROPERTY(EditAnywhere, Category="Section")
824 uint32 bIsLocked : 1;
825
826#if WITH_EDITORONLY_DATA
828 UPROPERTY(EditAnywhere, Category = "Section")
830#endif
831
832protected:
833
835 UPROPERTY()
836 float StartTime_DEPRECATED;
837
839 UPROPERTY()
840 float EndTime_DEPRECATED;
841
843 UPROPERTY()
844 float PreRollTime_DEPRECATED;
845
847 UPROPERTY()
848 float PostRollTime_DEPRECATED;
849
851 UPROPERTY()
852 uint32 bIsInfinite_DEPRECATED : 1;
853
856 UPROPERTY()
857 bool bSupportsInfiniteRange;
858
859 UPROPERTY()
861
868
871};
872
875{
876 const float AnimPlayRate = FMath::IsNearlyZero(Params.PlayRate) ? 1.0f : Params.PlayRate;
877 const float AnimPosition = static_cast<float>((TrimTime.Time - StartFrame) / TrimTime.Rate * AnimPlayRate);
878 const float SeqLength = static_cast<float>(Params.GetSequenceLength() - FrameRate.AsSeconds(Params.StartFrameOffset + Params.EndFrameOffset) / AnimPlayRate);
879
880 FFrameNumber NewOffset = FrameRate.AsFrameNumber(FMath::Fmod(AnimPosition, SeqLength));
881 NewOffset += Params.FirstLoopStartFrameOffset;
882
883 const FFrameNumber SeqLengthInFrames = FrameRate.AsFrameNumber(SeqLength);
885
886 return NewOffset;
887}
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define ensure( InExpression)
Definition AssertionMacros.h:464
virtual bool IsPostLoadThreadSafe() const override
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_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
return true
Definition ExternalRpcRegistry.cpp:601
EMovieSceneBlendType
Definition MovieSceneBlendType.h:19
EMovieSceneCompletionMode
Definition MovieSceneCompletionMode.h:10
EMovieSceneTransformChannel
Definition MovieSceneSection.h:212
FFrameNumber GetFirstLoopStartOffsetAtTrimTime(FQualifiedFrameTime TrimTime, const SectionParams &Params, FFrameNumber StartFrame, FFrameRate FrameRate)
Definition MovieSceneSection.h:874
EMovieSceneChannelProxyType
Definition MovieSceneSection.h:73
ECookOptimizationFlags
Definition MovieSceneTrack.h:48
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
@ RF_NeedInitialization
This object has not completed its initialization process. Cleared when ~FObjectInitializer completes.
Definition ObjectMacros.h:572
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
uint32 Offset
Definition VulkanMemory.cpp:4033
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition NameTypes.h:617
Definition StructOnScope.h:13
Definition MovieSceneEasingFunction.h:18
Definition IMovieScenePlayer.h:90
Definition MovieScene.Build.cs:6
Definition ArrayView.h:139
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition RangeBound.h:36
static TRangeBound Inclusive(ElementValueOrConstRef Value)
Definition RangeBound.h:209
static TRangeBound Exclusive(ElementValueOrConstRef Value)
Definition RangeBound.h:193
Definition Range.h:50
Definition ScriptInterface.h:139
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition Class.h:3793
Definition MovieSceneDecorationContainer.h:110
Definition MovieSceneEntitySystemLinker.h:113
Definition MovieSceneSection.h:243
virtual void SetRange(const TRange< FFrameNumber > &NewRange)
Definition MovieSceneSection.h:318
bool HasEndFrame() const
Definition MovieSceneSection.h:356
bool IsTimeWithinSection(FFrameNumber Position) const
Definition MovieSceneSection.h:403
virtual void GetSnapTimes(TArray< FFrameNumber > &OutSnapTimes, bool bGetSectionBorders) const
Definition MovieSceneSection.h:520
FFrameNumber GetExclusiveEndFrame() const
Definition MovieSceneSection.h:379
virtual void OnDilated(float DilationFactor, FFrameNumber Origin)
Definition MovieSceneSection.h:766
virtual void GetReferencedBindings(TArray< FGuid > &OutBindings)
Definition MovieSceneSection.h:631
virtual float GetTotalWeightValue(FFrameTime InTime) const
Definition MovieSceneSection.h:684
virtual void OnMoved(int32 DeltaTime)
Definition MovieSceneSection.h:765
virtual void OnAddedToTrackImpl(UMovieSceneTrack *Track)
Definition MovieSceneSection.h:758
virtual void MigrateFrameTimes(FFrameRate SourceRate, FFrameRate DestinationRate)
Definition MovieSceneSection.h:624
virtual void OnRemovedFromTrackImpl()
Definition MovieSceneSection.h:761
virtual bool ShowCurveForChannel(const void *Channel) const
Definition MovieSceneSection.h:678
virtual void OnBindingIDsUpdated(const TMap< UE::MovieScene::FFixedObjectBindingID, UE::MovieScene::FFixedObjectBindingID > &OldFixedToNewFixedMap, FMovieSceneSequenceID LocalSequenceID, TSharedRef< UE::MovieScene::FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneSection.h:628
virtual void MigrateFrameTimes(const UE::MovieScene::IRetimingInterface &Retimer)
Definition MovieSceneSection.h:625
bool GetSupportsInfiniteRange() const
Definition MovieSceneSection.h:672
void ExpandToFrame(FFrameNumber InFrame)
Definition MovieSceneSection.h:302
FFrameNumber GetInclusiveStartFrame() const
Definition MovieSceneSection.h:367
TRange< FFrameNumber > GetTrueRange() const
Definition MovieSceneSection.h:281
bool HasStartFrame() const
Definition MovieSceneSection.h:347
virtual FMovieSceneTimeWarpVariant * GetTimeWarp()
Definition MovieSceneSection.h:509
virtual UObject * GetSourceObject() const
Definition MovieSceneSection.h:695
Definition MovieSceneTrack.h:206
Definition Object.h:95
Type
Definition MovieSceneEvaluationCustomVersion.h:12
Definition ConstraintsManager.h:14
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition Color.h:486
Definition BuiltInComponentTypes.h:67
Definition FrameNumber.h:18
int32 Value
Definition FrameNumber.h:77
Definition FrameRate.h:21
Definition FrameTime.h:16
Definition Stack.h:114
Definition Guid.h:109
Definition KeyHandle.h:15
static UE_FORCEINLINE_HINT bool IsNearlyZero(float Value, float ErrorTolerance=UE_SMALL_NUMBER)
Definition UnrealMathUtility.h:407
Definition MovieSceneBlendType.h:96
Definition MovieSceneChannelProxy.h:198
Definition MovieSceneCondition.h:74
Definition MovieSceneSection.h:112
int32 GetEaseOutDuration() const
Definition MovieSceneSection.h:131
int32 GetEaseInDuration() const
Definition MovieSceneSection.h:126
Definition MovieSceneEvalTemplate.h:214
Definition MovieSceneFrameMigration.h:28
Definition MovieSceneSection.h:88
void EnableAndSetCompletionMode(EMovieSceneCompletionMode NewCompletionMode)
Definition MovieSceneSection.h:96
Definition MovieSceneSequenceHierarchy.h:279
Definition MovieSceneSequenceID.h:13
Definition MovieSceneTimeWarpVariant.h:51
Definition MovieSceneSection.h:182
FMovieSceneTimecodeSource()
Definition MovieSceneSection.h:189
bool operator==(const FMovieSceneTimecodeSource &Other) const
Definition MovieSceneSection.h:193
bool operator!=(const FMovieSceneTimecodeSource &Other) const
Definition MovieSceneSection.h:197
Definition MovieSceneBlendType.h:40
Definition UnrealType.h:6865
Definition QualifiedFrameTime.h:13
Definition Timecode.h:19
Definition Optional.h:131
Definition IMovieSceneEntityProvider.h:93
Definition IMovieSceneEntityProvider.h:47
Definition IMovieSceneRetimingInterface.h:18