Navigation
API > API/Runtime > API/Runtime/InteractiveToolsFramework
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UInteractiveGizmoManager
- UEditorInteractiveGizmoManager
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
| Type | Name | Description | |
|---|---|---|---|
| TArray< FActiveGizmo > | ActiveGizmos | Set of Currently-active Gizmos | |
| bool | bDefaultGizmosRegistered | ||
| TSharedPtr< FCombinedTransformGizmoActorFactory > | GizmoActorBuilder | ||
| TMap< FString, TObjectPtr< UInteractiveGizmoBuilder > > | GizmoBuilders | Current set of named GizmoBuilders | |
| UInputRouter * | InputRouter | Current InputRouter (Context owns this) | |
| IToolsContextQueriesAPI * | QueriesAPI | Current Context-Queries implementation | |
| IToolsContextTransactionsAPI * | TransactionsAPI | Current Transactions implementation |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| UCombinedTransformGizmo * | Create3AxisTransformGizmo
(
void* Owner, |
Activate a new instance of the default 3-axis transformation Gizmo. | |
| UCombinedTransformGizmo * | CreateCustomRepositionableTransformGizmo
(
ETransformGizmoSubElements Elements, |
||
| UCombinedTransformGizmo * | CreateCustomTransformGizmo
(
ETransformGizmoSubElements Elements, |
Activate a new customized instance of the default 3-axis transformation Gizmo, with only certain elements included. | |
| UInteractiveGizmo * | CreateGizmo
(
const FString& BuilderIdentifier, |
Try to activate a new Gizmo instance | |
| GizmoType * | CreateGizmo
(
const FString& BuilderIdentifier, |
Try to activate a new Gizmo instance | |
| bool | DeregisterGizmoType
(
const FString& BuilderIdentifier |
Remove a GizmoBuilder from the set of known GizmoBuilders | |
| void | DestroyAllGizmosByOwner
(
void* Owner |
Destroy all Gizmos that are owned by the given pointer | |
| void | DestroyAllGizmosOfType
(
const FString& BuilderIdentifier |
Destroy all Gizmos that were created by the identified GizmoBuilder | |
| bool | DestroyGizmo
(
UInteractiveGizmo* Gizmo |
Shutdown and remove a Gizmo | |
| void | DisplayMessage
(
const FText& Message, |
Functions that Gizmos can call to interact with Transactions APIPost a message via the Transactions API | |
| void | DrawHUD
(
FCanvas* Canvas, |
Let active Gizmos do screen space drawing. | |
| TArray< UInteractiveGizmo * > | FindAllGizmosOfType
(
const FString& BuilderIdentifier |
Find all the existing Gizmo instances that were created by the identified GizmoBuilder | |
| UInteractiveGizmo * | FindGizmoByInstanceIdentifier
(
const FString& Identifier |
Find the Gizmo that was created with the given instance identifier | |
| UContextObjectStore * | |||
| IToolsContextQueriesAPI * | Access to APIs, etc | ||
| void | Initialize
(
IToolsContextQueriesAPI* QueriesAPI, |
Initialize the GizmoManager with the necessary Context-level state. | |
| void | Request an Invalidation via the Transactions API (ie to cause a repaint, etc) | ||
| void | Standard Gizmos Register default gizmo types | ||
| void | RegisterGizmoType
(
const FString& BuilderIdentifier, |
GizmoBuilder Registration and Gizmo Creation/Shutdown Register a new GizmoBuilder | |
| void | Render
(
IToolsContextRenderAPI* RenderAPI |
Render any active Gizmos. | |
| void | Shutdown () |
Shutdown the GizmoManager. | |
| void | Tick
(
float DeltaTime |
State control (Tick any active Gizmos. Called by UInteractiveToolsContext |
Overridden from IToolContextTransactionProvider
| Type | Name | Description | |
|---|---|---|---|
| void | BeginUndoTransaction
(
const FText& Description |
Request that the Context open a Transaction, whatever that means to the current Context | |
| void | EmitObjectChange
(
UObject* TargetObject, |
Forward an FChange object to the Context | |
| void | Request that the Context close and commit the open Transaction |
Constants
| Name | Description |
|---|---|
| CustomRepositionableThreeAxisTransformBuilderIdentifier | |
| CustomThreeAxisTransformBuilderIdentifier | |
| DefaultAxisAngleBuilderIdentifier | |
| DefaultAxisPositionBuilderIdentifier | Builder identifiers for default gizmo types. Perhaps should have an API for this... |
| DefaultPlanePositionBuilderIdentifier | |
| DefaultScalableSphereBuilderIdentifier | |
| DefaultThreeAxisTransformBuilderIdentifier |