Navigation
API > API/Plugins > API/Plugins/ControlRigEditor
FDirectControl manages direct viewport click-and-drag control interactions by attaching to the default transform gizmo's pre and post-interaction delegates. It supports the three EClickAndDragBehavior modes:
- Disabled (no action)
- TransientSelection (auto-unselects on release)
- and PersistentSelection (replaces the current selection on drag)
| Name | FDirectControl |
| Type | struct |
| Header File | /Engine/Plugins/Animation/ControlRig/Source/ControlRigEditor/Public/Sequencer/EditModeAnimationUtil.h |
| Include Path | #include "Sequencer/EditModeAnimationUtil.h" |
Syntax
struct FDirectControl
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FDirectControl() |
Sequencer/EditModeAnimationUtil.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bHasTransformChanged | bool | Set externally to indicate the transform was modified during the current interaction. | Sequencer/EditModeAnimationUtil.h | |
| HitProxyFilterFunction | TFunction< bool(HHitProxy *)> | Optional extra filter (return false to reject a hit proxy from triggering selection). | Sequencer/EditModeAnimationUtil.h | |
| SequencerFunction | TFunction< TSharedPtr< ISequencer >()> | Optional function returning the active sequencer (if any). | Sequencer/EditModeAnimationUtil.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bHasSelected | bool | Tracks whether a selection was made by the direct control system. | Sequencer/EditModeAnimationUtil.h | |
| bProcessing | bool | Indicates that the direct control system is actively processing a gizmo interaction. | Sequencer/EditModeAnimationUtil.h | |
| CachedId | FTypedHandleCombinedId | Caches the element handle ID of the last selected hit proxy to avoid redundant selection changes across interaction callbacks. | Sequencer/EditModeAnimationUtil.h | |
| GizmoChangeHandle | FDelegateHandle | Delegate handle to listen to TRS gizmo activation / deactivation. | Sequencer/EditModeAnimationUtil.h | |
| GizmoCreatedHandle | FDelegateHandle | Delegate handle to listen to TRS gizmo creation. | Sequencer/EditModeAnimationUtil.h | |
| PostInteractionHandle | FDelegateHandle | Delegate handle for the transform gizmo's OnPostInteraction event, used to clean up selection state after the gizmo finishes interacting. | Sequencer/EditModeAnimationUtil.h | |
| PreInteractionHandle | FDelegateHandle | Delegate handle for the transform gizmo's OnPreCanInteract event, used to trigger selection before the gizmo begins interacting. | Sequencer/EditModeAnimationUtil.h | |
| WeakContext | TWeakObjectPtr< UEditorTransformGizmoContextObject > | Weak pointer to the gizmo context. | Sequencer/EditModeAnimationUtil.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void Bind
(
const FEditorModeTools* InModeTools |
Binds to the given editor mode tools (stores a weak reference to the gizmo context). | Sequencer/EditModeAnimationUtil.h | |
void Reset
(
const bool bAlsoResetHit |
Clears transient interaction state flags (bAlsoResetHit is true (default), also clears CachedId). | Sequencer/EditModeAnimationUtil.h | |
void UnBind() |
Removes all delegates and resets all states. | Sequencer/EditModeAnimationUtil.h |