13#include "IAnimationDataModel.generated.h"
71 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category =
"Model")
92 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category =
"Model")
109 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category =
"Model")
120UINTERFACE(BlueprintType, meta=(CannotImplementInterfaceInBlueprint), MinimalAPI)
393 return FString::Printf(
TEXT(
"DebugStateString not implemented. Guid == %s"), *
GenerateGuid().ToString());
422 bLocked =
InModel.TryLockEvaluationAndModification();
432 bool bLocked =
false;
EAnimDataModelNotifyType
Definition AnimDataNotifications.h:20
EAnimInterpolationType
Definition AnimTypes.h:689
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UINTERFACE(...)
Definition ObjectMacros.h:780
#define USTRUCT(...)
Definition ObjectMacros.h:746
Definition NameTypes.h:617
Definition IAnimationDataController.h:50
Definition IAnimationDataModel.h:127
virtual const FFloatCurve & GetFloatCurve(const FAnimationCurveIdentifier &CurveIdentifier) const =0
virtual const FRichCurve & GetRichCurve(const FAnimationCurveIdentifier &CurveIdentifier) const =0
virtual const FBoneAnimationTrack * FindBoneTrackByIndex(int32 BoneIndex) const =0
virtual int32 GetBoneTrackIndex(const FBoneAnimationTrack &Track) const =0
virtual bool IsValidBoneTrackName(const FName &TrackName) const =0
virtual const FAnimationCurveData & GetCurveData() const =0
virtual UAnimSequence * GetAnimationSequence() const =0
virtual void GetBoneTrackNames(TArray< FName > &OutNames) const =0
virtual void GetAttributesForBone(const FName &BoneName, TArray< const FAnimatedBoneAttribute * > &OutBoneAttributes) const =0
virtual TScriptInterface< IAnimationDataController > GetController()=0
virtual int32 GetNumberOfFrames() const =0
virtual bool IsValidBoneTrackIndex(int32 TrackIndex) const =0
virtual const TArray< struct FTransformCurve > & GetTransformCurves() const =0
virtual FAnimDataModelModifiedDynamicEvent & GetModifiedDynamicEvent()=0
virtual const FFloatCurve * FindFloatCurve(const FAnimationCurveIdentifier &CurveIdentifier) const =0
virtual bool HasBeenPopulated() const =0
virtual const TArray< FBoneAnimationTrack > & GetBoneAnimationTracks() const =0
virtual void OnNotify(const EAnimDataModelNotifyType &NotifyType, const FAnimDataModelNotifPayload &Payload)=0
virtual const FRichCurve * FindRichCurve(const FAnimationCurveIdentifier &CurveIdentifier) const =0
virtual TArrayView< const FAnimatedBoneAttribute > GetAttributes() const =0
virtual bool & GetPopulationFlag()=0
virtual IAnimationDataModel::FModelNotifier & GetNotifier()=0
virtual FTransform EvaluateBoneTrackTransform(FName TrackName, const FFrameTime &FrameTime, const EAnimInterpolationType &Interpolation) const =0
virtual bool TryLockEvaluationAndModification() const =0
virtual int32 GetNumberOfAttributesForBoneIndex(const int32 BoneIndex) const =0
virtual FGuid GenerateGuid(const FGuidGenerationSettings &InSettings) const =0
virtual const FAnimCurveBase * FindCurve(const FAnimationCurveIdentifier &CurveIdentifier) const =0
virtual const FBoneAnimationTrack & GetBoneTrackByName(FName TrackName) const =0
virtual const FTransformCurve & GetTransformCurve(const FAnimationCurveIdentifier &CurveIdentifier) const =0
virtual FTransform GetBoneTrackTransform(FName TrackName, const FFrameNumber &FrameNumber) const =0
virtual int32 GetNumberOfKeys() const =0
virtual FGuid GenerateGuid() const
Definition IAnimationDataModel.h:385
virtual int32 GetNumberOfAttributes() const =0
virtual int32 GetNumBoneTracks() const =0
virtual const FAnimatedBoneAttribute * FindAttribute(const FAnimationAttributeIdentifier &AttributeIdentifier) const =0
virtual const FAnimatedBoneAttribute & GetAttribute(const FAnimationAttributeIdentifier &AttributeIdentifier) const =0
virtual const TArray< struct FFloatCurve > & GetFloatCurves() const =0
virtual FFrameRate GetFrameRate() const =0
virtual void LockEvaluationAndModification() const =0
virtual void IterateBoneKeys(const FName &BoneName, TFunction< bool(const FVector3f &Pos, const FQuat4f &, const FVector3f, const FFrameNumber &)> IterationFunction) const =0
virtual int32 GetNumberOfTransformCurves() const =0
virtual void GetBoneTrackTransforms(FName TrackName, const TArray< FFrameNumber > &FrameNumbers, TArray< FTransform > &OutTransforms) const =0
virtual double GetPlayLength() const =0
virtual void GetBoneTracksTransform(const TArray< FName > &TrackNames, const FFrameNumber &FrameNumber, TArray< FTransform > &OutTransforms) const =0
virtual int32 GetBoneTrackIndexByName(FName TrackName) const =0
virtual const FBoneAnimationTrack & GetBoneTrackByIndex(int32 TrackIndex) const =0
virtual void UnlockEvaluationAndModification() const =0
virtual int32 GetNumberOfFloatCurves() const =0
virtual const FTransformCurve * FindTransformCurve(const FAnimationCurveIdentifier &CurveIdentifier) const =0
virtual const FBoneAnimationTrack * FindBoneTrackByName(FName Name) const =0
virtual FAnimDataModelModifiedEvent & GetModifiedEvent()=0
virtual const FAnimCurveBase & GetCurve(const FAnimationCurveIdentifier &CurveIdentifier) const =0
Definition IModularFeature.h:12
Definition ArrayView.h:139
Definition AndroidPlatformMisc.h:14
Definition ScriptInterface.h:139
UE_FORCEINLINE_HINT InInterfaceType * GetInterface() const
Definition ScriptInterface.h:335
Definition AnimSequenceBase.h:37
Definition AnimSequence.h:203
Definition IAnimationDataModel.h:122
Definition IAnimationDataModel.h:45
static ENGINE_API UClass * FindClassForAnimationAsset(UAnimSequenceBase *AnimSequenceBase)
Definition IAnimationDataModel.cpp:11
virtual UClass * GetModelClass(UAnimSequenceBase *OwningAnimationAsset) const =0
static FName GetModularFeatureName()
Definition IAnimationDataModel.h:49
virtual ~IAnimationDataModels()=default
Definition Interface.h:19
Definition IAnimationDataModel.h:16
Definition AnimCurveTypes.h:93
Definition AnimDataNotifications.h:251
Definition IAnimationDataModel.h:105
Definition AttributeIdentifier.h:17
Definition IAnimationDataModel.h:88
Definition CurveIdentifier.h:37
Definition AnimationPoseData.h:16
Definition AttributeCurve.h:61
Definition IAnimationDataModel.h:67
Definition AnimDataNotifications.h:89
Definition AnimCurveTypes.h:214
Definition FrameRate.h:21
Definition FrameTime.h:16
Definition AnimTypes.h:853
Definition RichCurve.h:200
Definition AnimTypes.h:822
Definition IAnimationDataModel.h:416
FEvaluationAndModificationLock(IAnimationDataModel &InModel, const TFunction< bool()> &SpinFunc)
Definition IAnimationDataModel.h:418
FEvaluationAndModificationLock(IAnimationDataModel &InModel)
Definition IAnimationDataModel.h:417
~FEvaluationAndModificationLock()
Definition IAnimationDataModel.h:429
Definition IAnimationDataModel.h:366
uint8 bIncludeAttributeData
Definition IAnimationDataModel.h:371
uint8 bIncludeTimingData
Definition IAnimationDataModel.h:372
uint8 bIncludeBoneData
Definition IAnimationDataModel.h:369
FGuidGenerationSettings()
Definition IAnimationDataModel.h:367
uint8 bIncludeCurveData
Definition IAnimationDataModel.h:370
Definition IAnimationDataModel.h:447
int32 GetBracketDepth() const
Definition IAnimationDataModel.h:504
FAnimDataModelModifiedEvent & ModifiedEvent
Definition IAnimationDataModel.h:511
FModelNotifier(TScriptInterface< IAnimationDataModel > ModelInterface)
Definition IAnimationDataModel.h:497
TScriptInterface< IAnimationDataModel > DataModel
Definition IAnimationDataModel.h:510
FAnimDataModelModifiedDynamicEvent & ModifiedEventDynamic
Definition IAnimationDataModel.h:512
int32 BracketCounter
Definition IAnimationDataModel.h:513
virtual ~FModelNotifier()=default
void Notify(EAnimDataModelNotifyType NotifyType)
Definition IAnimationDataModel.h:491
void Notify(EAnimDataModelNotifyType NotifyType, const T &PayloadData)
Definition IAnimationDataModel.h:457
Definition IAnimationDataModel.h:19
const FFrameRate SampleFrameRate
Definition IAnimationDataModel.h:32
const FName RetargetSource
Definition IAnimationDataModel.h:36
const EAnimInterpolationType InterpolationType
Definition IAnimationDataModel.h:40
FEvaluationContext(double InTime, FFrameRate InSampleRate, FName InRetargetSource, const TArray< FTransform > &InRetargetTransforms, EAnimInterpolationType InInterpolationType=EAnimInterpolationType::Linear)
Definition IAnimationDataModel.h:21
FEvaluationContext()=delete
const TArray< FTransform > & RetargetTransforms
Definition IAnimationDataModel.h:38
const FFrameTime SampleTime
Definition IAnimationDataModel.h:34
FEvaluationContext(FFrameTime InTime, FFrameRate InSampleRate, FName InRetargetSource, const TArray< FTransform > &InRetargetTransforms, EAnimInterpolationType InInterpolationType=EAnimInterpolationType::Linear)
Definition IAnimationDataModel.h:26