UTransformProxy

[UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) is used to transform a set of sub-ojects.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

InteractiveToolsFramework

Header

/Engine/Source/Runtime/Experimental/InteractiveToolsFramework/Public/BaseGizmos/TransformProxy.h

Include

#include "BaseGizmos/TransformProxy.h"

Syntax

class UTransformProxy : public UObject

Remarks

UTransformProxy is used to transform a set of sub-ojects. 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.

Variables

Name Description

Public variable

bool

 

bRotatePerObject

If true, relative rotation of shared transform is applied to objects before relative translation (ie they rotate in place)

Public variable

bool

 

bSetPivotMode

If true, then on SetTransform() the components are not moved, and their local transforms are recalculated

Protected variable

FTransform

 

InitialSharedTransform

The main transform

Protected variable

TArray< FRelati...

 

Objects

List of sub-objects

Public variable

FOnBeginTransfo...

 

OnBeginTransformEdit

Public variable

FOnEndTransform...

 

OnEndTransformEdit

Public variable

FOnTransformCha...

 

OnTransformChanged

Protected variable

FTransform

 

SharedTransform

The main transform

Functions

Name Description

Public function Virtual

void

 

AddComponent

(
    USceneComponent* Component,
    bool bModifyComponentOnTransform
)

Add a component sub-object to the proxy set.

Public function Virtual

void

 

BeginTransformEditSequence()

In some use cases SetTransform() will be called repeatedly (eg during an interactive gizmo edit).

Public function Virtual

void

 

EndTransformEditSequence()

External clients should call this when done a sequence of SetTransform calls (see BeginTransformEditSequence)

Public function Virtual Const

FTransform

 

GetTransform()

Public function Virtual

void

 

SetTransform

(
    const FTransform& Transform
)

Update the main transform and then update the sub-objects based on their relative transformations

Protected function Virtual

void

 

UpdateObjects()

Propagate a transform update to the sub-objects

Protected function Virtual

void

 

UpdateObjectTransforms()

Recalculate per-object relative transforms

Protected function Virtual

void

 

UpdateSharedTransform()

Recalculate main SharedTransform when object set changes

Classes

Name

Description

Protected struct

FRelativeObject

Typedefs

Name

Description

FOnBeginTransformEdit

This delegate is fired when BeginTransformEditSequence() is called to indicate that a transform change has started

FOnEndTransformEdit

This delegate is fired when EndTransformEditSequence() is called to indicate that a transform change has ended

FOnTransformChanged

This delegate is fired whenever the internal transform changes, ie on AddComponent and SetTransform

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss