UGizmoScaledTransformSource

Old description: [UGizmoScaledTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoScaledTransformSource) wraps another [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) implementation and adds a separate scaling vector to the Transform.

Choose your operating system:

Windows

macOS

Linux

Deprecated

Inheritance Hierarchy

References

Module

InteractiveToolsFramework

Header

/Engine/Source/Runtime/InteractiveToolsFramework/Public/BaseGizmos/TransformSources.h

Include

#include "BaseGizmos/TransformSources.h"

Syntax

class UGizmoScaledTransformSource : public UGizmoBaseTransformSource

Remarks

Old description: UGizmoScaledTransformSource wraps another IGizmoTransformSource implementation and adds a separate scaling vector to the Transform. The main use of this class is to support scaling in a 3D gizmo without actually scaling the Gizmo itself. Generally our pattern is to apply the gizmo's position/rotation transform to the target object via a TransformProxy, but that does not work with Scaling. So this class stores the scaling vector separately, provided by an external source via FSeparateScaleProvider, and in GetTransform/SetTransform rewrites the Transform from the child IGizmoTransformSource with the new scale.

Variables

Name Description

Public variable

TScriptInterfac...

 

ChildTransformSource

Child transform source

Public variable

FSeparateScaleP...

 

ScaleProvider

Provider for external scale value/storage

Functions

Name Description

Public function Static

UGizmoScaled...

 

Construct

(
    IGizmoTransformSource* ChildSo...,
    FSeparateScaleProvider ScaleProvide...,
    UObject* Outer
)

Construct a default instance of UGizmoComponentWorldTransformSource with the given Component

Public function Const

FTransform

 

GetScaledTransform()

Return the child transform with combined scale

Overridden from IGizmoTransformSource

Name Description

Public function Virtual Const

FTransform

 

GetTransform()

IGizmoTransformSource implementation, returns child transform with local sclae

Public function Virtual

void

 

SetTransform

(
    const FTransform& NewTransform
)

IGizmoTransformSource implementation, removes scale and sends to ScaleProvider, then forwards remaining rotate+translate transform to child