UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TransformableHandle.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "UObject/Object.h"
8#include "TransformableHandle.generated.h"
9
11class USceneComponent;
13struct FFRameNumber;
14struct FFrameRate;
19struct FTickFunction;
20
21namespace UE::MovieScene
22{
23 struct FFixedObjectBindingID;
24 struct FSharedPlaybackState;
25}
26
27UENUM()
38
43UCLASS(Abstract, Blueprintable, MinimalAPI)
45{
47
48public:
49
51
53
60 virtual bool IsValid(const bool bDeepCheck = true) const PURE_VIRTUAL(IsValid, return false;);
61
63 virtual void SetGlobalTransform(const FTransform& InGlobal) const PURE_VIRTUAL(SetGlobalTransform, );
65 virtual void SetLocalTransform(const FTransform& InLocal) const PURE_VIRTUAL(SetLocalTransform, );
67 virtual FTransform GetGlobalTransform() const PURE_VIRTUAL(GetGlobalTransform, return FTransform::Identity;);
69 virtual FTransform GetLocalTransform() const PURE_VIRTUAL(GetLocalTransform, return FTransform::Identity;);
70
72 CONSTRAINTS_API virtual bool HasBoundObjects() const;
73
75 virtual void ResolveBoundObjects(FMovieSceneSequenceID LocalSequenceID, TSharedRef<UE::MovieScene::FSharedPlaybackState> SharedPlaybackState, UObject* SubObject = nullptr) PURE_VIRTUAL(ResolveBoundObjects);
76
79
80
82 CONSTRAINTS_API void OnBindingIDsUpdated(const TMap<UE::MovieScene::FFixedObjectBindingID, UE::MovieScene::FFixedObjectBindingID>& OldFixedToNewFixedMap, FMovieSceneSequenceID LocalSequenceID, TSharedRef<UE::MovieScene::FSharedPlaybackState> SharedPlaybackState);
83
85 virtual void TickTarget() const {};
86
91 virtual void PreEvaluate(const bool bTick = false) const;
92
99 const TArray<FTransform>& InTransforms,
103 const bool bLocal = true) const PURE_VIRTUAL(AddTransformKeys, return false;);
104
109 virtual UObject* GetPrerequisiteObject() const PURE_VIRTUAL(GetPrerequisiteObject, return nullptr;);
114 virtual FTickFunction* GetTickFunction() const PURE_VIRTUAL(GetTickFunction, return nullptr;);
115
117 virtual uint32 GetHash() const PURE_VIRTUAL(GetHash, return 0;);
118
120 virtual TWeakObjectPtr<UObject> GetTarget() const PURE_VIRTUAL(GetTarget, return nullptr;);
121
123 virtual bool HasDirectDependencyWith(const UTransformableHandle& InOther) const PURE_VIRTUAL(HasDirectDependencyWith, return false;);
124
126 virtual FTickPrerequisite GetPrimaryPrerequisite(const bool bAllowThis = true) const PURE_VIRTUAL(GetPrimaryPrerequisite, return FTickPrerequisite(););
127
128 CONSTRAINTS_API FHandleModifiedEvent& HandleModified();
129 CONSTRAINTS_API void Notify(EHandleEvent InEvent, const bool bPreTickTarget = false) const;
130 mutable bool bNotifying = false;
131
132#if WITH_EDITOR
133 virtual FString GetLabel() const PURE_VIRTUAL(GetLabel, return FString(););
134 virtual FString GetFullLabel() const PURE_VIRTUAL(GetFullLabel, return FString(););
135#endif
136
137 //possible bindingID
138 UPROPERTY(BlueprintReadOnly, Category = "Binding")
139 FMovieSceneObjectBindingID ConstraintBindingID;
140
141private:
142 FHandleModifiedEvent OnHandleModified;
143};
144
150{
151 void OnActorMoving(AActor* InActor);
152 bool bPendingFlush = false;
153};
154
155UCLASS(Blueprintable, MinimalAPI)
157{
159
160public:
161
163
164 CONSTRAINTS_API virtual void PostLoad() override;
165
167 CONSTRAINTS_API virtual bool IsValid(const bool bDeepCheck = true) const override;
168
170 CONSTRAINTS_API virtual void SetGlobalTransform(const FTransform& InGlobal) const override;
172 CONSTRAINTS_API virtual void SetLocalTransform(const FTransform& InLocal) const override;
174 CONSTRAINTS_API virtual FTransform GetGlobalTransform() const override;
176 CONSTRAINTS_API virtual FTransform GetLocalTransform() const override;
178 CONSTRAINTS_API virtual void TickTarget() const override;
179
185 CONSTRAINTS_API virtual void PreEvaluate(const bool bTickSkeletalMeshes = false) const override;
186
188 CONSTRAINTS_API virtual UObject* GetPrerequisiteObject() const override;
190 CONSTRAINTS_API virtual FTickFunction* GetTickFunction() const override;
191
193 CONSTRAINTS_API virtual uint32 GetHash() const override;
194
196 CONSTRAINTS_API virtual TWeakObjectPtr<UObject> GetTarget() const override;
197
199 CONSTRAINTS_API virtual bool HasDirectDependencyWith(const UTransformableHandle& InOther) const override;
200
205 CONSTRAINTS_API virtual FTickPrerequisite GetPrimaryPrerequisite(const bool bAllowThis = true) const override;
206
208 CONSTRAINTS_API virtual TArrayView<FMovieSceneFloatChannel*> GetFloatChannels(const UMovieSceneSection* InSection) const override;
210 CONSTRAINTS_API virtual TArrayView<FMovieSceneDoubleChannel*> GetDoubleChannels(const UMovieSceneSection* InSection) const override;
212 CONSTRAINTS_API virtual bool AddTransformKeys(const TArray<FFrameNumber>& InFrames,
213 const TArray<FTransform>& InTransforms,
217 const bool bLocal = true) const override;
218
220 CONSTRAINTS_API virtual void ResolveBoundObjects(FMovieSceneSequenceID LocalSequenceID, TSharedRef<UE::MovieScene::FSharedPlaybackState> SharedPlaybackState, UObject* SubObject = nullptr) override;
221
224
225#if WITH_EDITOR
227 CONSTRAINTS_API virtual FString GetLabel() const override;
228 CONSTRAINTS_API virtual FString GetFullLabel() const override;
229#endif
230
232 UPROPERTY(BlueprintReadOnly, Category = "Object")
233 TWeakObjectPtr<USceneComponent> Component;
234
236 UPROPERTY(BlueprintReadOnly, Category = "Object")
237 FName SocketName = NAME_None;
238
240 CONSTRAINTS_API void UnregisterDelegates() const;
241 CONSTRAINTS_API void RegisterDelegates();
242
243#if WITH_EDITOR
244 CONSTRAINTS_API void OnActorMoving(AActor* InActor);
246 CONSTRAINTS_API void OnObjectsReplaced(const TMap<UObject*, UObject*>& InOldToNewInstances);
247#endif
248
249protected:
250
251 static FComponentEvaluationGraphBinding& GetEvaluationBinding();
252};
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
EMovieSceneTransformChannel
Definition MovieSceneSection.h:212
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
EHandleEvent
Definition TransformableHandle.h:29
@ UpperDependencyUpdated
@ GlobalTransformUpdated
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Actor.h:257
Definition NameTypes.h:617
Definition MovieScene.Build.cs:6
Definition ArrayView.h:139
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:153
Definition MovieSceneSection.h:243
Definition Object.h:95
Definition TransformableHandle.h:157
Definition TransformableHandle.h:45
virtual bool AddTransformKeys(const TArray< FFrameNumber > &InFrames, const TArray< FTransform > &InTransforms, const EMovieSceneTransformChannel &InChannels, const FFrameRate &InTickResolution, UMovieSceneSection *InSection, const bool bLocal=true) const PURE_VIRTUAL(AddTransformKeys
virtual TArrayView< FMovieSceneDoubleChannel * > GetDoubleChannels(const UMovieSceneSection *InSection) const PURE_VIRTUAL(GetDoubleChannels
DECLARE_EVENT_TwoParams(UTransformableHandle, FHandleModifiedEvent, UTransformableHandle *, EHandleEvent)
virtual TArrayView< FMovieSceneFloatChannel * > GetFloatChannels(const UMovieSceneSection *InSection) const PURE_VIRTUAL(GetFloatChannels
Definition ConstraintsManager.h:14
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition TransformableHandle.h:150
Definition FrameRate.h:21
Definition MovieSceneDoubleChannel.h:125
Definition MovieSceneFloatChannel.h:122
Definition MovieSceneObjectBindingID.h:203
Definition MovieSceneSequenceHierarchy.h:279
Definition MovieSceneSequenceID.h:13
Definition UnrealType.h:6865
Definition EngineBaseTypes.h:173
Definition EngineBaseTypes.h:117
Definition WeakObjectPtrTemplates.h:25