UInteractiveGizmoManager

[UInteractiveGizmoManager](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoManager) allows users of the Tools framework to create and operate Gizmo instances.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

InteractiveToolsFramework

Header

/Engine/Source/Runtime/InteractiveToolsFramework/Public/InteractiveGizmoManager.h

Include

#include "InteractiveGizmoManager.h"

Syntax

class UInteractiveGizmoManager :
    public UObject,
    public IToolContextTransactionProvider

Remarks

UInteractiveGizmoManager allows users of the Tools framework to create and operate Gizmo instances. For each Gizmo, a (string,GizmoBuilder) pair is registered with the GizmoManager. Gizmos can then be activated via the string identifier.

Variables

Name Description

Protected variable

TArray< FActive...

 

ActiveGizmos

Set of Currently-active Gizmos

Protected variable

bool

 

bDefaultGizmosRegistered

Protected variable

TSharedPtr< FCo...

 

GizmoActorBuilder

Protected variable

TMap< FString, ...

 

GizmoBuilders

Current set of named GizmoBuilders

Protected variable

UInputRouter &#...

 

InputRouter

Current InputRouter (Context owns this)

Protected variable

IToolsContextQu...

 

QueriesAPI

Current Context-Queries implementation

Protected variable

IToolsContextTr...

 

TransactionsAPI

Current Transactions implementation

Constructors

Name Description

Protected function

UInteractiveGizmoManager()

Functions

Name Description

Public function Virtual

UCombinedTra...

 

Create3AxisTransformGizmo

(
    void* Owner,
    const FString& InstanceIdentifier
)

Activate a new instance of the default 3-axis transformation Gizmo.

Public function Virtual

UCombinedTra...

 

CreateCustomRepositionableTransformGizmo

(
    ETransformGizmoSubElements Elements,
    void* Owner,
    const FString& InstanceIdentifier
)

Public function Virtual

UCombinedTra...

 

CreateCustomTransformGizmo

(
    ETransformGizmoSubElements Elements,
    void* Owner,
    const FString& InstanceIdentifier
)

Activate a new customized instance of the default 3-axis transformation Gizmo, with only certain elements included.

Public function Virtual

UInteractive...

 

CreateGizmo

(
    const FString& BuilderIdentifier,
    const FString& InstanceIdentifier,
    void* Owner
)

Try to activate a new Gizmo instance

Public function

GizmoType &#...

 

CreateGizmo

(
    const FString& BuilderIdentifier,
    const FString& InstanceIdentifier,
    void* Owner
)

Try to activate a new Gizmo instance

Public function Virtual

bool

 

DeregisterGizmoType

(
    const FString& BuilderIdentifier
)

Remove a GizmoBuilder from the set of known GizmoBuilders

Public function Virtual

void

 

DestroyAllGizmosByOwner

(
    void* Owner
)

Destroy all Gizmos that are owned by the given pointer

Public function Virtual

void

 

DestroyAllGizmosOfType

(
    const FString& BuilderIdentifier
)

Destroy all Gizmos that were created by the identified GizmoBuilder

Public function Virtual

bool

 

DestroyGizmo

(
    UInteractiveGizmo* Gizmo
)

Shutdown and remove a Gizmo

Public function Virtual

void

 

DisplayMessage

(
    const FText& Message,
    EToolMessageLevel Level
)

Functions that Gizmos can call to interact with Transactions APIPost a message via the Transactions API

Public function Virtual

void

 

DrawHUD

(
    FCanvas* Canvas,
    IToolsContextRenderAPI* Render...
)

Let active Gizmos do screen space drawing.

Public function Virtual

TArray< UInt...

 

FindAllGizmosOfType

(
    const FString& BuilderIdentifier
)

Find all the existing Gizmo instances that were created by the identified GizmoBuilder

Public function Virtual

UInteractive...

 

FindGizmoByInstanceIdentifier

(
    const FString& Identifier
)

Find the Gizmo that was created with the given instance identifier

Public function Const

UContextObje...

 

GetContextObjectStore()

Public function Virtual

IToolsContex...

 

GetContextQueriesAPI()

Access to APIs, etc

Protected function Virtual

void

 

Initialize

(
    IToolsContextQueriesAPI* Queri...,
    IToolsContextTransactionsAPI* ...,
    UInputRouter* InputRouter
)

Initialize the GizmoManager with the necessary Context-level state.

Public function Virtual

void

 

PostInvalidation()

Request an Invalidation via the Transactions API (ie to cause a repaint, etc)

Public function Virtual

void

 

RegisterDefaultGizmos()

Standard Gizmos Register default gizmo types

Public function Virtual

void

 

RegisterGizmoType

(
    const FString& BuilderIdentifier,
    UInteractiveGizmoBuilder* Buil...
)

GizmoBuilder Registration and Gizmo Creation/Shutdown Register a new GizmoBuilder

Public function Virtual

void

 

Render

(
    IToolsContextRenderAPI* Render...
)

Render any active Gizmos.

Protected function Virtual

void

 

Shutdown()

Shutdown the GizmoManager.

Public function Virtual

void

 

Tick

(
    float DeltaTime
)

State control (Tick any active Gizmos. Called by UInteractiveToolsContext

Overridden from IToolContextTransactionProvider

Name Description

Public function Virtual

void

 

BeginUndoTransaction

(
    const FText& Description
)

Request that the Context open a Transaction, whatever that means to the current Context

Public function Virtual

void

 

EmitObjectChange

(
    UObject* TargetObject,
    TUniquePtr< FToolCommandChange > Ch...,
    const FText& Description
)

Forward an FChange object to the Context

Public function Virtual

void

 

EndUndoTransaction()

Request that the Context close and commit the open Transaction

Constants