Navigation
API > API/Runtime > API/Runtime/InteractiveToolsFramework
UTransformProxy is used to transform a set of sub-objects. An internal FTransform is generated based on the sub-object set, and the relative FTransform of each sub-object is stored. Then as this main transform is updated, the sub-objects are also updated.
Currently only USceneComponent sub-objects are supported.
If only one sub-object is set, the main transform is the sub-object transform. Otherwise the main transform is centered at the average origin and has no rotation.
| Name | UTransformProxy |
| Type | class |
| Header File | /Engine/Source/Runtime/InteractiveToolsFramework/Public/BaseGizmos/TransformProxy.h |
| Include Path | #include "BaseGizmos/TransformProxy.h" |
Syntax
UCLASS (Transient, MinimalAPI)
class UTransformProxy : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UTransformProxy
Derived Classes
Structs
| Name | Remarks |
|---|---|
| FRelativeObject |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnBeginPivotEdit | TMulticastDelegate_OneParam< void, UTransformProxy * > | This delegate is fired when BeginTransformEditSequence() is called to indicate that a sequence of pivot updates has started | BaseGizmos/TransformProxy.h |
| FOnBeginTransformEdit | TMulticastDelegate_OneParam< void, UTransformProxy * > | This delegate is fired when BeginTransformEditSequence() is called to indicate that a sequence of transform updates has started | BaseGizmos/TransformProxy.h |
| FOnEndPivotEdit | TMulticastDelegate_OneParam< void, UTransformProxy * > | This delegate is fired when EndTransformEditSequence() is called to indicate that a sequence of pivot updates has ended | BaseGizmos/TransformProxy.h |
| FOnEndTransformEdit | TMulticastDelegate_OneParam< void, UTransformProxy * > | This delegate is fired when EndTransformEditSequence() is called to indicate that a sequence of transform updates has ended | BaseGizmos/TransformProxy.h |
| FOnPivotChanged | TMulticastDelegate_TwoParams< void, UTransformProxy *, FTransform > | This delegate is fired whenever the internal transform changes due to a pivot reposition, ie on AddComponent and when SetTransform is called with bSetPivotMode being true. | BaseGizmos/TransformProxy.h |
| FOnTransformChanged | TMulticastDelegate_TwoParams< void, UTransformProxy *, FTransform > | This delegate is fired whenever the transform changes in a way that updates the contained components. | BaseGizmos/TransformProxy.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bRotatePerObject | bool | If true, relative rotation of shared transform is applied to objects before relative translation (ie they rotate in place) | BaseGizmos/TransformProxy.h | |
| bSetPivotMode | bool | If true, then on SetTransform() the components are not moved, and their local transforms are recalculated | BaseGizmos/TransformProxy.h | |
| OnBeginPivotEdit | FOnBeginPivotEdit | BaseGizmos/TransformProxy.h | ||
| OnBeginTransformEdit | FOnBeginTransformEdit | BaseGizmos/TransformProxy.h | ||
| OnEndPivotEdit | FOnEndPivotEdit | BaseGizmos/TransformProxy.h | ||
| OnEndTransformEdit | FOnEndTransformEdit | BaseGizmos/TransformProxy.h | ||
| OnPivotChanged | FOnPivotChanged | BaseGizmos/TransformProxy.h | ||
| OnTransformChanged | FOnTransformChanged | BaseGizmos/TransformProxy.h | ||
| OnTransformChangedUndoRedo | FOnTransformChanged | This delegate is fired whenever the transform is changed by a FTransformProxyChange, ie on undo/redo. | BaseGizmos/TransformProxy.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddComponent
(
USceneComponent* Component, |
Add a component sub-object to the proxy set. | BaseGizmos/TransformProxy.h | |
virtual void AddComponentCustom
(
USceneComponent* Component, |
Add a component sub-object to the proxy set with custom transform access functions. | BaseGizmos/TransformProxy.h | |
virtual void BeginPivotEditSequence() |
Clients should call this before a sequence of SetTransform calls that have bSetPivotMode as true (see comment in BeginTransformEditSequence). | BaseGizmos/TransformProxy.h | |
virtual void BeginTransformEditSequence () |
In some use cases SetTransform() will be called repeatedly (eg during an interactive gizmo edit). | BaseGizmos/TransformProxy.h | |
virtual void EndPivotEditSequence() |
Clients should call this when done with a sequence of SetTransform that have bSetPivotMode as true (see comment in BeginTransformEditSequence). | BaseGizmos/TransformProxy.h | |
virtual void EndTransformEditSequence() |
External clients should call this when done a sequence of SetTransform calls (see BeginTransformEditSequence) | BaseGizmos/TransformProxy.h | |
virtual FTransform GetTransform() |
BaseGizmos/TransformProxy.h | ||
virtual void SetTransform
(
const FTransform& Transform |
Update the main transform and then update the sub-objects based on their relative transformations | BaseGizmos/TransformProxy.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void UpdateObjects() |
Propagate a transform update to the sub-objects | BaseGizmos/TransformProxy.h | |
virtual void UpdateObjectTransforms() |
Recalculate per-object relative transforms | BaseGizmos/TransformProxy.h | |
virtual void UpdateSharedTransform() |
Recalculate main SharedTransform when object set changes | BaseGizmos/TransformProxy.h |