16#include "ChangeTransactor.h"
19#include "IAnimationDataController.generated.h"
21#define LOCTEXT_NAMESPACE "IAnimationDataController"
43UINTERFACE(BlueprintType, meta=(CannotImplementInterfaceInBlueprint), MinimalAPI)
91 UFUNCTION(BlueprintCallable, Category = AnimationData)
97 UFUNCTION(BlueprintCallable, Category = AnimationData)
112 UFUNCTION(BlueprintCallable, Category = AnimationData)
120 UFUNCTION(BlueprintCallable, Category = AnimationData)
130 UFUNCTION(BlueprintCallable, Category = AnimationData)
146 UFUNCTION(BlueprintCallable, Category = AnimationData)
165 UFUNCTION(BlueprintCallable, Category = AnimationData)
179 UFUNCTION(BlueprintCallable, Category = AnimationData)
194 UFUNCTION(BlueprintCallable, Category = AnimationData)
219 UFUNCTION(BlueprintCallable, Category = AnimationData)
227 UFUNCTION(BlueprintCallable, Category = AnimationData)
256 UFUNCTION(BlueprintCallable, Category = AnimationData)
298 UFUNCTION(BlueprintCallable, Category = CurveData)
310 UFUNCTION(BlueprintCallable, Category = CurveData)
322 UFUNCTION(BlueprintCallable, Category = CurveData)
331 UFUNCTION(BlueprintCallable, Category = CurveData)
344 UFUNCTION(BlueprintCallable, Category = CurveData)
356 UFUNCTION(BlueprintCallable, Category = CurveData)
369 UFUNCTION(BlueprintCallable, Category = CurveData)
383 UFUNCTION(BlueprintCallable, Category = CurveData)
395 UFUNCTION(BlueprintCallable, Category = CurveData)
407 UFUNCTION(BlueprintCallable, Category = CurveData)
420 UFUNCTION(BlueprintCallable, Category = CurveData)
433 UFUNCTION(BlueprintCallable, Category = CurveData)
446 UFUNCTION(BlueprintCallable, Category = CurveData)
459 UFUNCTION(BlueprintCallable, Category = CurveData)
471 UFUNCTION(BlueprintCallable, Category = CurveData)
483 UFUNCTION(BlueprintCallable, Category = CurveData)
505 UFUNCTION(BlueprintCallable, Category = CurveData, meta=(DeprecatedFunction, DeprecationMessage="This
function is
no longer used."))
516 UFUNCTION(BlueprintCallable, Category = CurveData, meta=(DeprecatedFunction, DeprecationMessage="This
function is
no longer used."))
649 template<
typename AttributeType>
655 return static_cast<const void*
>(&
Value);
718 return FrameTime.GetFrame();
725 template <
typename FmtType,
typename... Types>
731 template <
typename FmtType,
typename... Types>
742 template <
typename FmtType,
typename... Types>
762 return SupportedTypes.
Contains(CurveType);
816 if (UE::FChangeTransactor::CanTransactChanges() && bCondition)
833 if (UE::FChangeTransactor::CanTransactChanges() && bCondition) \
843 template <
typename FmtType,
typename... Types>
849 template <
typename FmtType,
typename... Types>
855 template <
typename FmtType,
typename... Types>
864 friend UE::Anim::FOpenBracketAction;
865 friend UE::Anim::FCloseBracketAction;
868#define CONDITIONAL_TRANSACTION(Text) FTransaction Transaction = ConditionalTransaction(Test, bShouldTransact);
869#define CONDITIONAL_BRACKET(Text) FBracket Bracket = ConditionalBracket(Text, bShouldTransact);
870#define CONDITIONAL_ACTION(ActionClass, ...) ConditionalAction<ActionClass>(bShouldTransact, __VA_ARGS__);
872#undef LOCTEXT_NAMESPACE
OODEFFUNC typedef const int const char * function
Definition oodle2.h:710
ERawCurveTrackTypes
Definition AnimCurveTypes.h:1058
EAnimAssetCurveFlags
Definition AnimCurveTypes.h:42
@ AACF_Editable
Definition AnimCurveTypes.h:49
constexpr auto MakeArrayView(OtherRangeType &&Other)
Definition ArrayView.h:873
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ 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
return true
Definition ExternalRpcRegistry.cpp:601
#define LOCTEXT(InKey, InTextLiteral)
Definition Internationalization.h:295
#define NSLOCTEXT(InNamespace, InKey, InTextLiteral)
Definition Internationalization.h:300
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UINTERFACE(...)
Definition ObjectMacros.h:780
#define UE_DOUBLE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:140
#define UE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:131
Definition NameTypes.h:617
Definition UnrealType.h:3087
static CORE_API FText FromString(const ANSICHAR *String)
Definition Text.cpp:1081
static CORE_API FText AsNumber(float Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText Format(FTextFormat Fmt, const FFormatNamedArguments &InArguments)
Definition Text.cpp:469
Definition IAnimationDataController.h:50
virtual bool RemoveCurveKey(const FAnimationCurveIdentifier &CurveId, float Time, bool bShouldTransact=true)=0
static ENGINE_API void ReportMessage(const UObject *ErrorObject, const FText &InMessage, ELogVerbosity::Type LogVerbosity)
Definition IAnimationDataController.cpp:8
virtual int32 InsertBoneTrack(FName BoneName, int32 DesiredIndex, bool bShouldTransact=true)=0
void ValidateModel() const
Definition IAnimationDataController.h:766
void ReportError(const FText &Message) const
Definition IAnimationDataController.h:753
void Reportf(ELogVerbosity::Type Verbosity, const FmtType &Fmt, Types... Args) const
Definition IAnimationDataController.h:743
virtual bool SetAttributeKey(const FAnimationAttributeIdentifier &AttributeIdentifier, float Time, const void *KeyValue, const UScriptStruct *TypeStruct, bool bShouldTransact=true)=0
virtual bool SetCurveColor(const FAnimationCurveIdentifier &CurveId, FLinearColor Color, bool bShouldTransact=true)=0
virtual const IAnimationDataModel *const GetModel() const =0
virtual void RemoveAllBoneTracks(bool bShouldTransact=true)=0
virtual bool SetAttributeKeys(const FAnimationAttributeIdentifier &AttributeIdentifier, TArrayView< const float > Times, TArrayView< const void * > KeyValues, const UScriptStruct *TypeStruct, bool bShouldTransact=true)=0
virtual bool SetBoneTrackKeys(FName BoneName, const TArray< FVector3f > &PositionalKeys, const TArray< FQuat4f > &RotationalKeys, const TArray< FVector3f > &ScalingKeys, bool bShouldTransact=true)=0
virtual bool SetCurveFlag(const FAnimationCurveIdentifier &CurveId, EAnimAssetCurveFlags Flag, bool bState=true, bool bShouldTransact=true)=0
virtual int32 RemoveAllAttributes(bool bShouldTransact=true)=0
virtual void InitializeModel()=0
virtual bool DuplicateCurve(const FAnimationCurveIdentifier &CopyCurveId, const FAnimationCurveIdentifier &NewCurveId, bool bShouldTransact=true)=0
virtual bool ScaleCurve(const FAnimationCurveIdentifier &CurveId, float Origin, float Factor, bool bShouldTransact=true)=0
static void ReportObjectErrorf(const UObject *ErrorObject, const FmtType &Fmt, Types... Args)
Definition IAnimationDataController.h:850
void ReportWarning(const FText &Message) const
Definition IAnimationDataController.h:748
virtual void NotifyBracketOpen()=0
virtual void ResizeNumberOfFrames(FFrameNumber NewLengthInFrames, FFrameNumber T0, FFrameNumber T1, bool bShouldTransact=true)=0
virtual void ResizeInFrames(FFrameNumber NewLengthInFrames, FFrameNumber T0, FFrameNumber T1, bool bShouldTransact=true)=0
bool SetTypedAttributeKey(const FAnimationAttributeIdentifier &AttributeIdentifier, float Time, const AttributeType &KeyValue, bool bShouldTransact=true)
Definition IAnimationDataController.h:607
virtual bool SetCurveFlags(const FAnimationCurveIdentifier &CurveId, int32 Flags, bool bShouldTransact=true)=0
virtual bool UpdateBoneTrackKeys(FName BoneName, const FInt32Range &KeyRangeToSet, const TArray< FVector3f > &PositionalKeys, const TArray< FQuat4f > &RotationalKeys, const TArray< FVector3f > &ScalingKeys, bool bShouldTransact=true)=0
virtual bool RemoveBoneTracksMissingFromSkeleton(const USkeleton *Skeleton, bool bShouldTransact=true)=0
virtual bool RemoveAttribute(const FAnimationAttributeIdentifier &AttributeIdentifier, bool bShouldTransact=true)=0
virtual void Resize(float Length, float T0, float T1, bool bShouldTransact=true)=0
virtual bool SetTransformCurveKeys(const FAnimationCurveIdentifier &CurveId, const TArray< FTransform > &TransformValues, const TArray< float > &TimeKeys, bool bShouldTransact=true)=0
virtual bool SetCurveKey(const FAnimationCurveIdentifier &CurveId, const FRichCurveKey &Key, bool bShouldTransact=true)=0
virtual bool AddCurve(const FAnimationCurveIdentifier &CurveId, int32 CurveFlags=0x00000004, bool bShouldTransact=true)=0
virtual TScriptInterface< IAnimationDataModel > GetModelInterface() const =0
void ReportErrorf(const FmtType &Fmt, Types... Args) const
Definition IAnimationDataController.h:732
static bool IsSupportedCurveType(ERawCurveTrackTypes CurveType)
Definition IAnimationDataController.h:759
virtual void ResizePlayLength(float NewLength, float T0, float T1, bool bShouldTransact=true)=0
virtual bool RemoveCurve(const FAnimationCurveIdentifier &CurveId, bool bShouldTransact=true)=0
static void ReportObjectWarningf(const UObject *ErrorObject, const FmtType &Fmt, Types... Args)
Definition IAnimationDataController.h:844
virtual bool SetCurveAttributes(const FAnimationCurveIdentifier &CurveId, const FCurveAttributes &Attributes, bool bShouldTransact=true)=0
virtual void SetNumberOfFrames(FFrameNumber NewLengthInFrames, bool bShouldTransact=true)=0
virtual bool SetTransformCurveKey(const FAnimationCurveIdentifier &CurveId, float Time, const FTransform &Value, bool bShouldTransact=true)=0
bool SetTypedAttributeKeys(const FAnimationAttributeIdentifier &AttributeIdentifier, TArrayView< const float > Times, TArrayView< const AttributeType > KeyValues, bool bShouldTransact=true)
Definition IAnimationDataController.h:650
virtual bool RenameCurve(const FAnimationCurveIdentifier &CurveToRenameId, const FAnimationCurveIdentifier &NewCurveId, bool bShouldTransact=true)=0
virtual void SetFrameRate(FFrameRate FrameRate, bool bShouldTransact=true)=0
static FString GetCurveTypeValueName(ERawCurveTrackTypes InType)
Definition IAnimationDataController.h:799
virtual bool DuplicateAttribute(const FAnimationAttributeIdentifier &AttributeIdentifier, const FAnimationAttributeIdentifier &NewAttributeIdentifier, bool bShouldTransact=true)=0
virtual bool AddBoneCurve(FName BoneName, bool bShouldTransact=true)=0
virtual bool SetCurveKeys(const FAnimationCurveIdentifier &CurveId, const TArray< FRichCurveKey > &CurveKeys, bool bShouldTransact=true)=0
virtual bool AddAttribute(const FAnimationAttributeIdentifier &AttributeIdentifier, bool bShouldTransact=true)=0
virtual void NotifyBracketClosed()=0
FFrameNumber ConvertSecondsToFrameNumber(double Seconds) const
Definition IAnimationDataController.h:700
virtual void NotifyPopulated()=0
virtual int32 AddBoneTrack(FName BoneName, bool bShouldTransact=true)
Definition IAnimationDataController.h:192
virtual void SetPlayLength(float Length, bool bShouldTransact=true)=0
virtual void OpenBracket(const FText &InTitle, bool bShouldTransact=true)=0
virtual void SetModel(TScriptInterface< IAnimationDataModel > InModel)=0
virtual void RemoveAllCurvesOfType(ERawCurveTrackTypes SupportedCurveType, bool bShouldTransact=true)=0
virtual void UpdateCurveNamesFromSkeleton(const USkeleton *Skeleton, ERawCurveTrackTypes SupportedCurveType, bool bShouldTransact=true)
Definition IAnimationDataController.h:506
virtual void PopulateWithExistingModel(TScriptInterface< IAnimationDataModel > InModel)=0
virtual bool RemoveTransformCurveKey(const FAnimationCurveIdentifier &CurveId, float Time, bool bShouldTransact=true)=0
friend class FAnimDataControllerTestBase
Definition IAnimationDataController.h:863
static void Reportf(ELogVerbosity::Type LogVerbosity, const UObject *ErrorObject, const FmtType &Fmt, Types... Args)
Definition IAnimationDataController.h:856
virtual int32 RemoveAllAttributesForBone(const FName &BoneName, bool bShouldTransact=true)=0
virtual void ResetModel(bool bShouldTransact=true)=0
bool CheckOuterClass(UClass *InClass) const
Definition IAnimationDataController.h:772
static constexpr int32 DefaultCurveFlags
Definition IAnimationDataController.h:810
void Report(ELogVerbosity::Type Verbosity, const FText &Message) const
Definition IAnimationDataController.h:737
virtual void UpdateWithSkeleton(USkeleton *TargetSkeleton, bool bShouldTransact=true)=0
virtual bool SetCurveComment(const FAnimationCurveIdentifier &CurveId, const FString &Comment, bool bShouldTransact=true)=0
virtual void CloseBracket(bool bShouldTransact=true)=0
virtual bool RemoveBoneTrack(FName BoneName, bool bShouldTransact=true)=0
virtual void UpdateAttributesFromSkeleton(const USkeleton *Skeleton, bool bShouldTransact=true)=0
void ReportWarningf(const FmtType &Fmt, Types... Args) const
Definition IAnimationDataController.h:726
virtual void FindOrAddCurveNamesOnSkeleton(USkeleton *Skeleton, ERawCurveTrackTypes SupportedCurveType, bool bShouldTransact=true)
Definition IAnimationDataController.h:517
virtual bool RemoveAttributeKey(const FAnimationAttributeIdentifier &AttributeIdentifier, float Time, bool bShouldTransact=true)=0
Definition IAnimationDataModel.h:127
virtual FFrameRate GetFrameRate() const =0
Definition ArrayView.h:139
bool Contains(const ComparisonType &Item) const
Definition Array.h:1518
Definition ScriptInterface.h:139
Definition UniquePtr.h:107
Definition IAnimationDataController.h:45
Definition AssetUserData.h:18
Definition Interface.h:19
FORCEINLINE UClass * GetClass() const
Definition UObjectBase.h:217
Definition Skeleton.h:295
void Transform(const InT &Input, OutT &&Output, TransformT Trans)
Definition Transform.h:66
Type
Definition LogVerbosity.h:17
@ Warning
Definition LogVerbosity.h:34
@ Error
Definition LogVerbosity.h:28
Definition AdvancedWidgetsModule.cpp:13
Definition AttributeIdentifier.h:17
Definition CurveIdentifier.h:37
Definition RealCurve.h:47
Definition FrameRate.h:21
Definition FrameTime.h:16
static UE_FORCEINLINE_HINT bool IsNearlyZero(float Value, float ErrorTolerance=UE_SMALL_NUMBER)
Definition UnrealMathUtility.h:407
Definition RichCurve.h:81