UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneBlendType.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "HAL/Platform.h"
8#include "Stats/Stats.h"
9#include "UObject/Class.h"
11
12#include "MovieSceneBlendType.generated.h"
13
15
17UENUM(BlueprintType)
19{
22 Absolute = 0x1,
24 Additive = 0x2,
26 Relative = 0x4,
28 AdditiveFromBase = 0x8,
30 Override = 0x10,
31
32 // If you add new blend types, don't forget to change:
33 // - All()
34 // - Num()
35};
36
38USTRUCT(BlueprintType)
40{
42
44 : BlendType(EMovieSceneBlendType::Absolute)
45 , bIsValid(false)
46 {}
47
49 : BlendType(InBlendType)
50 , bIsValid(true)
51 {}
52
57 {
58 bIsValid = true;
59 BlendType = InBlendType;
60 return *this;
61 }
62
66 bool IsValid() const
67 {
68 return bIsValid;
69 }
70
75 {
76 check(bIsValid);
77 return BlendType;
78 }
79
81 {
82 return A.IsValid() && A.BlendType == B;
83 }
84
86 UPROPERTY(BlueprintReadOnly, Category="Blend Type")
88
90 UPROPERTY(BlueprintReadOnly, Category="Blend Type")
91 bool bIsValid;
92};
93
96{
101
106
111
115 template<typename... E> void Add(E... Types) { for (EMovieSceneBlendType BlendType : {Types...}) { Add(BlendType); } }
116 template<typename... E> void Remove(E... Types) { for (EMovieSceneBlendType BlendType : {Types...}) { Remove(BlendType); } }
117
123
129
134
139
143 MOVIESCENE_API int32 Num() const;
144
146 {
147 return A.BlendTypeField == B.BlendTypeField;
148 }
149
151 {
152 return A.BlendTypeField != B.BlendTypeField;
153 }
154
157
158private:
160
162 EMovieSceneBlendType BlendTypeField;
163};
164
166{
167public:
170
171 inline explicit operator bool() const { return Offset >= 0 && Offset <= MaxValidOffset(); }
172 inline bool operator!() const { return Offset < 0 || Offset > MaxValidOffset(); }
173 inline void operator++() { IterateToNext(); }
174 inline bool operator==(const FMovieSceneBlendTypeFieldIterator& RHS) const { return Field == RHS.Field && Offset == RHS.Offset; }
175 inline bool operator!=(const FMovieSceneBlendTypeFieldIterator& RHS) const { return Field != RHS.Field || Offset != RHS.Offset; }
176
178
179private:
182
183 MOVIESCENE_API void IterateToNext();
184
185 inline static int8 MaxValidOffset() { return (int8)(StaticEnum<EMovieSceneBlendType>()->NumEnums() - 2); }
186
188 int8 Offset;
189};
190
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
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
return true
Definition ExternalRpcRegistry.cpp:601
@ Num
Definition MetalRHIPrivate.h:234
EMovieSceneBlendType
Definition MovieSceneBlendType.h:19
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition FieldSystemNoiseAlgo.cpp:6
@ false
Definition radaudio_common.h:23
Definition MovieSceneBlendType.h:166
friend MOVIESCENE_API FMovieSceneBlendTypeFieldIterator begin(const FMovieSceneBlendTypeField &)
Definition MovieSceneBlendType.cpp:94
bool operator!=(const FMovieSceneBlendTypeFieldIterator &RHS) const
Definition MovieSceneBlendType.h:175
MOVIESCENE_API EMovieSceneBlendType operator*()
Definition MovieSceneBlendType.cpp:89
friend MOVIESCENE_API FMovieSceneBlendTypeFieldIterator end(const FMovieSceneBlendTypeField &)
Definition MovieSceneBlendType.cpp:103
static FMovieSceneBlendTypeFieldIterator End(FMovieSceneBlendTypeField InField)
void operator++()
Definition MovieSceneBlendType.h:173
bool operator!() const
Definition MovieSceneBlendType.h:172
static FMovieSceneBlendTypeFieldIterator Begin(FMovieSceneBlendTypeField InField)
bool operator==(const FMovieSceneBlendTypeFieldIterator &RHS) const
Definition MovieSceneBlendType.h:174
Definition MovieSceneBlendType.h:96
friend bool operator!=(const FMovieSceneBlendTypeField &A, const FMovieSceneBlendTypeField &B)
Definition MovieSceneBlendType.h:150
friend bool operator==(const FMovieSceneBlendTypeField &A, const FMovieSceneBlendTypeField &B)
Definition MovieSceneBlendType.h:145
void Add(E... Types)
Definition MovieSceneBlendType.h:115
void Remove(E... Types)
Definition MovieSceneBlendType.h:116
Definition MovieSceneBlendType.h:40
friend bool operator==(FOptionalMovieSceneBlendType A, EMovieSceneBlendType B)
Definition MovieSceneBlendType.h:80
FOptionalMovieSceneBlendType(EMovieSceneBlendType InBlendType)
Definition MovieSceneBlendType.h:48
FOptionalMovieSceneBlendType & operator=(EMovieSceneBlendType InBlendType)
Definition MovieSceneBlendType.h:56
bool IsValid() const
Definition MovieSceneBlendType.h:66
EMovieSceneBlendType Get() const
Definition MovieSceneBlendType.h:74