6#include "Containers/Array.h"
22#include "MovieSceneChannelData.generated.h"
29 template<
typename ValueType>
271 UE_DEPRECATED(5.5,
"Constructor that takes an optional FMovieSceneChannel is now deprecated. FMovieSceneChannel is now required.")
328 Values->Insert(
InValue, KeyIndex);
352 template<
typename TCanRemove>
requires std::is_invocable_r_v<bool, TCanRemove, const FKeyHandle&>
379 if (NewIndex != KeyIndex)
383 ValueType OldValue = (*Values)[KeyIndex];
385 Values->Insert(OldValue, NewIndex);
420 bool bIsSorted =
true;
646 auto KeyCopy = (*Values)[KeyIndex];
739template<
typename ValueType>
755 check(Times && Values);
783 int32 MinIndex = 0, MaxIndex = 0;
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
EPropertyObjectReferenceType
Definition ObjectMacros.h:533
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition MovieScene.Build.cs:6
Definition ArrayView.h:139
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void RemoveAt(SizeType Index, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2083
void Reset(SizeType NewSize=0)
Definition Array.h:2246
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex(SizeType Index) const
Definition Array.h:1122
void Append(const TArray< OtherElementType, OtherAllocatorType > &Source)
Definition Array.h:2412
SizeType Insert(std::initializer_list< ElementType > InitList, const SizeType InIndex)
Definition Array.h:1875
Definition RangeBound.h:36
static UE_FORCEINLINE_HINT TRange Empty()
Definition Range.h:671
UE_REWRITE void Sort(RangeType &&Range)
Definition Sort.h:16
int32 RemoveIf(RangeType &Range, Predicate Pred)
Definition RemoveIf.h:21
Definition ConstraintsManager.h:14
void EvaluateTime(TArrayView< const FFrameNumber > InTimes, FFrameTime InTime, int32 &OutIndex1, int32 &OutIndex2)
Definition MovieSceneChannelData.cpp:13
void OnRemapChannelKeyTime(const FMovieSceneChannel *Channel, const IRetimingInterface &Retimer, FFrameNumber PreviousTime, FFrameNumber CurrentTime, FMovieSceneDoubleValue &InOutValue)
Definition MovieSceneDoubleChannel.cpp:26
void FindRange(TArrayView< const FFrameNumber > InTimes, FFrameNumber PredicateTime, FFrameNumber InTolerance, int32 MaxNum, int32 &OutMin, int32 &OutMax)
Definition MovieSceneChannelData.cpp:44
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition FrameRate.h:21
Definition FrameTime.h:16
Definition MovieSceneChannel.h:35
Definition MovieSceneChannelTraits.h:20
Definition KeyHandle.h:138
ENGINE_API void Reset()
Definition KeyHandle.cpp:266
ENGINE_API void DeallocateHandle(int32 Index)
Definition KeyHandle.cpp:244
ENGINE_API void MoveHandle(int32 OldIndex, int32 NewIndex)
Definition KeyHandle.cpp:209
ENGINE_API FKeyHandle AllocateHandle(int32 Index)
Definition KeyHandle.cpp:229
Definition KeyHandle.h:15
static ENGINE_API FKeyHandle Invalid()
Definition KeyHandle.cpp:37
Definition MovieSceneChannelData.h:109
MOVIESCENE_API TRange< FFrameNumber > GetTotalRange() const
Definition MovieSceneChannelData.cpp:201
FMovieSceneChannel * OwningChannel
Definition MovieSceneChannelData.h:248
MOVIESCENE_API int32 AddKeyInternal(FFrameNumber InTime)
Definition MovieSceneChannelData.cpp:133
MOVIESCENE_API void GetKeyTimes(TArrayView< const FKeyHandle > InHandles, TArrayView< FFrameNumber > OutKeyTimes)
Definition MovieSceneChannelData.cpp:245
MOVIESCENE_API int32 FindKey(FFrameNumber InTime, FFrameNumber InTolerance=0)
Definition MovieSceneChannelData.cpp:116
MOVIESCENE_API void GetKeys(const TRange< FFrameNumber > &WithinRange, TArray< FFrameNumber > *OutKeyTimes, TArray< FKeyHandle > *OutKeyHandles)
Definition MovieSceneChannelData.cpp:214
TArrayView< FFrameNumber > GetTimes()
Definition MovieSceneChannelData.h:122
TArray< FFrameNumber > * Times
Definition MovieSceneChannelData.h:242
TArrayView< const FFrameNumber > GetTimes() const
Definition MovieSceneChannelData.h:113
MOVIESCENE_API int32 MoveKeyInternal(int32 KeyIndex, FFrameNumber InNewTime)
Definition MovieSceneChannelData.cpp:157
FKeyHandleLookupTable * KeyHandles
Definition MovieSceneChannelData.h:245
MOVIESCENE_API void ReplaceKeyHandlesInternal(TConstArrayView< int32 > KeyIndices, TConstArrayView< FKeyHandle > NewHandles)
Definition MovieSceneChannelData.cpp:145
MOVIESCENE_API int32 GetIndex(FKeyHandle Handle)
Definition MovieSceneChannelData.cpp:110
MOVIESCENE_API void ChangeFrameResolution(FFrameRate SourceRate, FFrameRate DestinationRate)
Definition MovieSceneChannelData.cpp:206
MOVIESCENE_API FKeyHandle GetHandle(int32 Index)
Definition MovieSceneChannelData.cpp:103
MOVIESCENE_API void FindKeys(FFrameNumber InTime, int32 MaxNum, int32 &OutMinIndex, int32 &OutMaxIndex, int32 InTolerance)
Definition MovieSceneChannelData.cpp:128
Definition MovieSceneChannel.h:112
FMovieSceneChannelDataKeyAddedEvent & OnKeyAddedEvent()
Definition MovieSceneChannel.h:286
FMovieSceneChannelDataKeyDeletedEvent & OnKeyDeletedEvent()
Definition MovieSceneChannel.h:291
Definition MovieSceneChannelData.h:37
FMovieSceneKeyHandleMap(const FMovieSceneKeyHandleMap &RHS)
Definition MovieSceneChannelData.h:42
FMovieSceneKeyHandleMap & operator=(const FMovieSceneKeyHandleMap &RHS)
Definition MovieSceneChannelData.h:43
FMovieSceneKeyHandleMap()=default
TCallTraitsParamTypeHelper< T, PassByValue >::ParamType ParamType
Definition UnrealTypeTraits.h:275
void FindKeys(FFrameNumber InTime, int32 MaxNum, int32 &OutMinIndex, int32 &OutMaxIndex, FFrameNumber InTolerance) const
Definition MovieSceneChannelData.h:797
int32 FindKey(FFrameNumber InTime, FFrameNumber InTolerance=0) const
Definition MovieSceneChannelData.h:781
TArrayView< const FFrameNumber > GetTimes() const
Definition MovieSceneChannelData.h:761
TCallTraits< ValueType >::ParamType ParamType
Definition MovieSceneChannelData.h:742
TArrayView< const ValueType > GetValues() const
Definition MovieSceneChannelData.h:769
TMovieSceneChannelData(const TArray< FFrameNumber > *InTimes, const TArray< ValueType > *InValues)
Definition MovieSceneChannelData.h:752
TRange< FFrameNumber > GetTotalRange() const
Definition MovieSceneChannelData.h:807
Definition MovieSceneChannelData.h:259
void ReplaceKeyHandle(int32 KeyIndex, FKeyHandle NewHandle)
Definition MovieSceneChannelData.h:486
void DuplicateKeys(TArrayView< const FKeyHandle > InHandles, TArrayView< FKeyHandle > OutNewHandles)
Definition MovieSceneChannelData.h:633
int32 SetKeyTime(int32 KeyIndex, FFrameNumber InNewTime)
Definition MovieSceneChannelData.h:398
void ReplaceKeyHandles(TConstArrayView< int32 > KeyIndices, TConstArrayView< FKeyHandle > NewHandles)
Definition MovieSceneChannelData.h:496
int32 MoveKey(int32 KeyIndex, FFrameNumber NewTime, bool bRemoveDuplicateKeys, TCanRemove &&CanRemove)
Definition MovieSceneChannelData.h:353
void RemapTimes(const UE::MovieScene::IRetimingInterface &Retimer)
Definition MovieSceneChannelData.h:410
int32 AddKey(FFrameNumber InTime, ParamType InValue)
Definition MovieSceneChannelData.h:325
FKeyHandle UpdateOrAddKey(FFrameNumber InTime, ParamType InValue)
Definition MovieSceneChannelData.h:532
TCallTraits< ValueType >::ParamType ParamType
Definition MovieSceneChannelData.h:260
void RemoveKey(int32 KeyIndex)
Definition MovieSceneChannelData.h:506
TMovieSceneChannelData(TArray< FFrameNumber > *InTimes, TArray< ValueType > *InValues, FMovieSceneChannel *InChannel, FKeyHandleLookupTable *InKeyHandles)
Definition MovieSceneChannelData.h:287
TArrayView< const ValueType > GetValues() const
Definition MovieSceneChannelData.h:305
TArrayView< ValueType > GetValues()
Definition MovieSceneChannelData.h:313
void Reset()
Definition MovieSceneChannelData.h:708
void SetKeyTimes(TArrayView< const FKeyHandle > InHandles, TArrayView< const FFrameNumber > InKeyTimes)
Definition MovieSceneChannelData.h:613
void DeleteKeys(TArrayView< const FKeyHandle > InHandles)
Definition MovieSceneChannelData.h:658
void UpdateOrAddKeys(const TArrayView< const FFrameNumber > InTimes, const TArrayView< ValueType > InValues)
Definition MovieSceneChannelData.h:554
void DeleteKeysFrom(FFrameNumber InTime, bool bDeleteKeysBefore)
Definition MovieSceneChannelData.h:677
int32 MoveKey(int32 KeyIndex, FFrameNumber NewTime, bool bRemoveDuplicateKeys=false)
Definition MovieSceneChannelData.h:347
Definition StructOpsTypeTraits.h:11
@ WithSerializer
Definition StructOpsTypeTraits.h:23
static constexpr EPropertyObjectReferenceType WithSerializerObjectReferences
Definition StructOpsTypeTraits.h:41
Definition StructOpsTypeTraits.h:46
Definition IMovieSceneRetimingInterface.h:18