| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/Experimental/InteractiveToolsFramework/Public/BaseGizmos/TransformSources.h |
Include |
#include "BaseGizmos/TransformSources.h" |
class UGizmoScaledTransformSource : public UGizmoBaseTransformSource
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.
Name | Description | ||
---|---|---|---|
|
ChildTransformSource |
Child transform source |
|
|
ScaleProvider |
Provider for external scale value/storage |
Name | Description | ||
---|---|---|---|
|
UGizmoScaled... |
Construct ( |
Construct a default instance of UGizmoComponentWorldTransformSource with the given Component |
|
GetScaledTransform() |
Return the child transform with combined scale |
Name | Description | ||
---|---|---|---|
|
GetTransform() |
IGizmoTransformSource implementation, returns child transform with local sclae |
|
|
SetTransform ( |
IGizmoTransformSource implementation, removes scale and sends to ScaleProvider, then forwards remaining rotate+translate transform to child |