UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneSegmentCompiler.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 "CoreFwd.h"
8#include "CoreTypes.h"
10#include "HAL/PlatformCrt.h"
11#include "Misc/InlineValue.h"
12#include "Misc/Optional.h"
13
15struct FFrameNumber;
16template <typename ElementType> class TRange;
17template <typename T> struct TIsContiguousContainer;
18
40
46struct FSegmentBlendData : TArray<FMovieSceneSectionData, TInlineAllocator<4>>
47{
54 {
55 for (const FMovieSceneSectionData& SectionData : *this)
56 {
57 Segment.Impls.Add(FSectionEvaluationData(SectionData.TemplateIndex, SectionData.Flags));
58 }
59 }
60};
61
62//~ trait to re-enable GetData on FSegmentBlendData
64{
65 enum { Value = true };
66};
67
84
89{
96
98
104 {
105 return bAllowEmptySegments;
106 }
107
112 bool CanFillEmptySpace() const
113 {
114 return bCanFillEmptySpace;
115 }
116
126 virtual TOptional<FMovieSceneSegment> InsertEmptySpace(const TRange<FFrameNumber>& Range, const FMovieSceneSegment* PreviousSegment, const FMovieSceneSegment* NextSegment) const
127 {
129 }
130
136 virtual void Blend(FSegmentBlendData& BlendData) const
137 {
138 }
139
140protected:
141
144
147};
148
149
@ INDEX_NONE
Definition CoreMiscDefines.h:150
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
TInlineValue< FMovieSceneTrackRowSegmentBlender, 16 > FMovieSceneTrackRowSegmentBlenderPtr
Definition MovieSceneSegmentCompiler.h:150
TInlineValue< FMovieSceneTrackSegmentBlender, 16 > FMovieSceneTrackSegmentBlenderPtr
Definition MovieSceneSegmentCompiler.h:151
ESectionEvaluationFlags
Definition MovieSceneSegment.h:19
Definition Array.h:670
Definition InlineValue.h:22
Definition Range.h:50
Definition MovieSceneSection.h:243
Definition FrameNumber.h:18
Definition MovieSceneSegmentCompiler.h:23
const UMovieSceneSection * Section
Definition MovieSceneSegmentCompiler.h:34
FMovieSceneSectionData(const UMovieSceneSection *InSection, int32 InTemplateIndex, ESectionEvaluationFlags InFlags)
Definition MovieSceneSegmentCompiler.h:29
int32 TemplateIndex
Definition MovieSceneSegmentCompiler.h:36
ESectionEvaluationFlags Flags
Definition MovieSceneSegmentCompiler.h:38
FMovieSceneSectionData()
Definition MovieSceneSegmentCompiler.h:24
Definition MovieSceneSegment.h:144
Definition MovieSceneSegmentCompiler.h:72
virtual void Blend(FSegmentBlendData &BlendData) const
Definition MovieSceneSegmentCompiler.h:80
virtual ~FMovieSceneTrackRowSegmentBlender()
Definition MovieSceneSegmentCompiler.h:73
Definition MovieSceneSegmentCompiler.h:89
bool bAllowEmptySegments
Definition MovieSceneSegmentCompiler.h:143
virtual TOptional< FMovieSceneSegment > InsertEmptySpace(const TRange< FFrameNumber > &Range, const FMovieSceneSegment *PreviousSegment, const FMovieSceneSegment *NextSegment) const
Definition MovieSceneSegmentCompiler.h:126
bool bCanFillEmptySpace
Definition MovieSceneSegmentCompiler.h:146
FMovieSceneTrackSegmentBlender()
Definition MovieSceneSegmentCompiler.h:91
virtual ~FMovieSceneTrackSegmentBlender()
Definition MovieSceneSegmentCompiler.h:97
bool CanFillEmptySpace() const
Definition MovieSceneSegmentCompiler.h:112
bool AllowEmptySegments() const
Definition MovieSceneSegmentCompiler.h:103
virtual void Blend(FSegmentBlendData &BlendData) const
Definition MovieSceneSegmentCompiler.h:136
Definition MovieSceneSegment.h:83
Definition MovieSceneSegmentCompiler.h:47
void AddToSegment(FMovieSceneSegment &Segment) const
Definition MovieSceneSegmentCompiler.h:53
Definition IsContiguousContainer.h:16
static constexpr bool Value
Definition IsContiguousContainer.h:20
Definition Optional.h:131