UInteractiveGizmoManager

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

Windows
MacOS
Linux

Inheritance Hierarchy

UObjectBase

UObjectBaseUtility

UObject

UInteractiveGizmoManager

References

Module

InteractiveToolsFramework

Header

/Engine/Source/Runtime/Experimental/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

UTransformGizmo...

 

CustomThreeAxisBuilder

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

UTransformGi...

 

Create3AxisTransformGizmo

(
    void* Owner,
    const FString& InstanceIdentifier
)

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

Public function Virtual

UTransformGi...

 

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 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

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