UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneKeyStructHelper.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "Containers/Array.h"
9#include "CoreTypes.h"
10#include "Curves/KeyHandle.h"
12#include "Misc/FrameNumber.h"
13#include "Misc/InlineValue.h"
14#include "Misc/Optional.h"
15#include "Templates/Tuple.h"
17
19
67
68
69
132
133
135{
136
138template<typename ChannelType, typename ValueType>
140{
144
147 {
148 if (ChannelType* Channel = ChannelHandle.Get())
149 {
150 using namespace UE::MovieScene;
152 }
153 }
154
157 {
158 ChannelType* Channel = ChannelHandle.Get();
159
160 using namespace UE::MovieScene;
161 if (Channel && KeyHandleAndTime.IsSet())
162 {
164
165 AssignValue(Channel, Handle, *UserValue);
166 Channel->SetKeyTime(Handle, InUnifiedTime);
167 }
168 }
169
172
174 ValueType* UserValue;
175};
176
177} // namespace MovieSceneImpl
178
179template<typename ChannelType, typename ValueType>
185
186
187
188template<typename ChannelType, typename ValueType>
194
195
196
197template<typename ChannelType>
199{
200 if (InChannel)
201 {
202 auto ChannelData = InChannel->GetData();
204 {
205 const int32 KeyIndex = ChannelData.GetIndex(Handle);
206 if (KeyIndex != INDEX_NONE)
207 {
208 return MakeTuple(Handle, ChannelData.GetTimes()[KeyIndex]);
209 }
210 }
211 }
212
214}
@ 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
bool EvaluateChannel(const FMovieSceneAudioTriggerChannel *InChannel, FFrameTime InTime, bool &OutValue)
Definition MovieSceneAudioTriggerChannel.h:115
void AssignValue(FMovieSceneDoubleChannel *InChannel, FKeyHandle InKeyHandle, double InValue)
Definition MovieSceneDoubleChannel.cpp:691
constexpr TTuple< std::decay_t< Types >... > MakeTuple(Types &&... Args)
Definition Tuple.h:794
Definition ArrayView.h:139
Definition Array.h:670
Definition InlineValue.h:22
Definition ExpressionParserTypes.h:21
Definition MovieSceneKeyStructHelper.h:135
Definition ConstraintsManager.h:14
Definition FrameNumber.h:18
Definition KeyHandle.h:15
Definition MovieSceneKeyStructHelper.h:108
virtual void SetKeyFromUserValue(FFrameNumber InUnifiedTime)=0
virtual void SetUserValueFromTime(FFrameNumber InUnifiedTime)=0
virtual ~IChannelValueHelper()
Definition MovieSceneKeyStructHelper.h:109
TOptional< TTuple< FKeyHandle, FFrameNumber > > KeyHandleAndTime
Definition MovieSceneKeyStructHelper.h:116
Definition MovieSceneKeyStructHelper.h:74
IChannelValueHelper * operator->()
Definition MovieSceneKeyStructHelper.h:122
FMovieSceneChannelValueHelper(const TMovieSceneChannelHandle< ChannelType > &InChannel, ValueType *InUserValue, TArrayView< const FKeyHandle > AllKeyHandles)
Definition MovieSceneKeyStructHelper.h:180
static TOptional< TTuple< FKeyHandle, FFrameNumber > > FindFirstKey(ChannelType *InChannel, TArrayView< const FKeyHandle > AllKeyHandles)
Definition MovieSceneKeyStructHelper.h:198
Definition MovieSceneKeyStructHelper.h:24
MOVIESCENE_API void Apply(FFrameNumber InUnifiedTime)
Definition MovieSceneKeyStructHelper.cpp:32
FMovieSceneKeyStructHelper & operator=(const FMovieSceneKeyStructHelper &)=delete
FMovieSceneKeyStructHelper(const FMovieSceneKeyStructHelper &)=delete
MOVIESCENE_API void SetStartingValues()
Definition MovieSceneKeyStructHelper.cpp:16
MOVIESCENE_API TOptional< FFrameNumber > GetUnifiedKeyTime() const
Definition MovieSceneKeyStructHelper.cpp:27
FMovieSceneKeyStructHelper()=default
Definition MovieSceneKeyStructHelper.h:140
TMovieSceneChannelHandle< ChannelType > ChannelHandle
Definition MovieSceneKeyStructHelper.h:171
virtual void SetKeyFromUserValue(FFrameNumber InUnifiedTime)
Definition MovieSceneKeyStructHelper.h:156
ValueType * UserValue
Definition MovieSceneKeyStructHelper.h:174
virtual void SetUserValueFromTime(FFrameNumber InUnifiedTime)
Definition MovieSceneKeyStructHelper.h:146
TChannelValueHelper(const TMovieSceneChannelHandle< ChannelType > &InChannel, ValueType *InValue)
Definition MovieSceneKeyStructHelper.h:141
Definition MovieSceneChannelHandle.h:167
Definition Optional.h:131
constexpr bool IsSet() const
Definition Optional.h:69
Definition Tuple.h:652