Navigation
API > API/Plugins > API/Plugins/ControlRigEditor > API/Plugins/ControlRigEditor/EditMode
Inheritance Hierarchy
- FEdMode
- IAnimationEditContext
- FAnimationEditMode
- IPersonaEditMode
- FControlRigEditMode
References
| Module | ControlRigEditor |
| Header | /Engine/Plugins/Animation/ControlRig/Source/ControlRigEditor/Public/EditMode/ControlRigEditMode.h |
| Include | #include "EditMode/ControlRigEditMode.h" |
Syntax
class FControlRigEditMode : public IPersonaEditMode
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bIsTracking | True if there's tracking going on right now | |
| bool | bisTrackingAnimToolDrag | Params to handle mouse move for changing anim tools sliders | |
| bool | bManipulatorMadeChange | Whether a manipulator actually made a change when transacting | |
| bool | bSelecting | Guard value for selection | |
| bool | bSelectionChanged | If selection was changed, we set up proxies on next tick | |
| bool | bSuspendHierarchyNotifs | Flag to temporarily disable handling notifs from the hierarchy | |
| TSharedPtr< FUICommandList > | CommandBindings | Command bindings for keyboard shortcuts | |
| TObjectPtr< UControlRigDetailPanelControlProxies > | ControlProxy | ||
| TMap< UControlRig *, TArray< TObjectPtr< AControlRigShapeActor > > > | ControlRigShapeActors | Shape actors | |
| TArray< UControlRig * > | ControlRigsToRecreate | List of Control Rigs we should recreate | |
| TSharedPtr< FDetailKeyFrameCacheAndHandler > | DetailKeyFrameCache | ||
| TMap< UControlRig *, FControlRigInteractionScope * > | InteractionScopes | The scope for the interaction, one per manipulated Control rig | |
| FGuid | LastMovieSceneSig | ||
| TMap< UControlRig *, FTransform > | LastPivotTransforms | Previous cached transforms, need this to check on tick if any transform changed, gizmo may have changed | |
| FSimpleMulticastDelegate | OnAnimSystemInitializedDelegate | ||
| FNewMenuCommandsDelegate | OnContextMenuCommandsDelegate | ||
| FControlRigAddedOrRemoved | OnControlRigAddedOrRemovedDelegate | ||
| FControlRigSelected | OnControlRigSelectedDelegate | ||
| FOnGetContextMenu | OnGetContextMenuDelegate | ||
| FOnGetRigElementTransform | OnGetRigElementTransformDelegate | ||
| FOnSetRigElementTransform | OnSetRigElementTransformDelegate | ||
| TMap< UControlRig *, FTransform > | PivotTransforms | Cached transform of pivot point for selected objects for each Control Rig | |
| float | PreviousGizmoScale | Previous Gizmo(Widget) scale before we enter this mode, used to set it back | |
| ERecreateControlRigShape | RecreateControlShapesRequired | Flag to recreate shapes during tick | |
| TOptional< int32 > | StartXValue | Starting X Value | |
| TWeakPtr< ISequencer > | WeakSequencer |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AddControlRigObject
(
UControlRig* InControlRig, |
Add a Control Rig object if it doesn't exist, will return true if it was added, false if it wasn't since it's already there. | |
| bool | This is used to differentiate between the control rig editor and any other (asset/level) editors in which this edit mode is used | ||
| bool | AreRigElementSelectedAndMovable
(
UControlRig* InControlRig |
||
| bool | AreRigElementsSelected
(
uint32 InTypes, |
Check if any RigElements are selected | |
| bool | BeginTransform
(
const FGizmoState& InState |
||
| bool | |||
| bool | If Anim Slider is open, then can drag | ||
| bool | CanRemoveFromPreviewScene
(
const USceneComponent* InComponent |
Return true if it can be removed from preview scene | |
| void | If Anim Slider is open, got to the next tool | ||
| void | ClearRigElementSelection
(
uint32 InTypes |
Clear all selected RigElements | |
| void | Clear Selection | ||
| bool | ComputePivotFromEditedShape
(
UControlRig* InControlRig, |
||
| bool | ComputePivotFromElements
(
UControlRig* InControlRig, |
||
| bool | ComputePivotFromShapeActors
(
UControlRig* InControlRig, |
||
| void | DragAnimSliderTool
(
double Val |
If Anim Slider is open, drag the tool | |
| void | DrawHUD
(
FEditorViewportClient* ViewportClient, |
||
| bool | EndTracking
(
FEditorViewportClient* InViewportClient, |
||
| bool | EndTransform
(
const FGizmoState& InState |
||
| void | FrameItems
(
const TArray< FRigElementKey >& InItems |
Frame a list of provided items | |
| void | Frame to current Control Selection | ||
| bool | FrustumSelect
(
const FConvexVolume& InFrustum, |
||
| void | GetAllSelectedControls
(
TMap< UControlRig*, TArray< FRigElementKey > >& OutSelectedControls |
Get all of the selected Controls | |
| FUICommandList * | |||
| UControlRigDetailPanelControlProxies * | |||
| TArrayView< TWeakObjectPtr< UControlRig > > | |||
| TArrayView< const TWeakObjectPtr< UControlRig > > | Get all of the ControlRigs, maybe not valid anymore | ||
| TArray< UControlRig * > | GetControlRigsArray
(
bool bIsVisible |
Get valid Control Rigs possibly just visible | |
| TArray< const UControlRig * > | GetControlRigsArray
(
bool bIsVisible |
||
| AControlRigShapeActor * | GetControlShapeFromControlName
(
UControlRig* InControlRig, |
Shape related functions wrt enable/selection | |
| ECoordSystem | Get the current coordinate system space | ||
| bool | GetCustomDrawingCoordinateSystem
(
FMatrix& OutMatrix, |
||
| bool | GetCustomInputCoordinateSystem
(
FMatrix& OutMatrix, |
||
| UControlRigDetailPanelControlProxies * | Get the detail proxies control rig | ||
| FControlRigEditMode * | GetEditModeFromWorldContext
(
UWorld* InWorldContext |
Find the edit mode corresponding to the specified world context | |
| USceneComponent * | GetHostingSceneComponent
(
const UControlRig* ControlRig |
If the passed in ControlRig is nullptr we use the first Control Rig(this can happen from the BP Editors). | |
| FTransform | GetHostingSceneComponentTransform
(
const UControlRig* ControlRig |
||
| int32 | GetNumSelectedRigElements
(
uint32 InTypes, |
Get the number of selected RigElements | |
| bool | |||
| bool | GetPivotForOrbit
(
FVector& OutPivot |
||
| TArray< FRigElementKey > | GetSelectedRigElements
(
UControlRig* InControlRig |
GetSelectedRigElements, if InControlRig is nullptr get the first one | |
| TWeakPtr< ISequencer > | Get Sequencer Driving This | ||
| FVector | |||
| bool | HandleBeginTransform
(
const FEditorViewportClient* InViewportClient |
||
| bool | HandleClick
(
FEditorViewportClient* InViewportClient, |
||
| bool | HandleEndTransform
(
FEditorViewportClient* InViewportClient |
||
| void | Handle selection internally | ||
| bool | InputDelta
(
FEditorViewportClient* InViewportClient, |
||
| bool | |||
| bool | IntersectSelect
(
bool InSelect, |
Helper function for box/frustum intersection | |
| void | InvertInputPose
(
bool bSelectionOnly |
Invert Input Pose | |
| bool | IsCompatibleWith
(
FEditorModeID OtherModeID |
||
| bool | IsControlRigSkelMeshVisible
(
UControlRig* ControlRig |
Get if the hosted component is visible. | |
| bool | Utility functions for UI/Some other viewport manipulation | ||
| bool | IsDragAnimSliderToolPressed
(
FViewport* InViewport |
If the Drag Anim Slider Tool is pressed | |
| bool | This edit mode is re-used between the level editor and the asset editors (control rig editor etc.). | ||
| bool | Return true if transform setter/getter delegates are available | ||
| bool | MouseLeave
(
FEditorViewportClient* ViewportClient, |
||
| bool | |||
| FSimpleMulticastDelegate & | |||
| FNewMenuCommandsDelegate & | |||
| void | OnControlModified
(
UControlRig* Subject, |
||
| FControlRigAddedOrRemoved & | Control Rig Changed Delegate | ||
| FControlRigSelected & | Control Rig Selected Delegate | ||
| FOnGetContextMenu & | Context Menu Delegates | ||
| FOnGetRigElementTransform & | Bone Manipulation Delegates | ||
| void | OnHierarchyModified
(
ERigHierarchyNotification InNotif, |
Callback that gets called when rig element is selected in other view | |
| void | OnHierarchyModified_AnyThread
(
ERigHierarchyNotification InNotif, |
||
| void | OnObjectsReplaced
(
const TMap< UObject*, UObject* >& OldToNewInstanceMap |
Called from the editor when a blueprint object replacement has occurred | |
| void | OnPostConstruction_AnyThread
(
UControlRig* InRig, |
||
| void | OnPreConstruction_AnyThread
(
UControlRig* InRig, |
||
| FOnSetRigElementTransform & | |||
| void | OpenContextMenu
(
FEditorViewportClient* InViewportClient |
Set initial transform handlers | |
| void | Opens up the space picker widget | ||
| void | PostUndo () |
||
| bool | ProcessCapturedMouseMoves
(
FEditorViewportClient* InViewportClient, |
||
| void | Refresh our internal object list (they may have changed) | ||
| void | RemoveControlRig
(
UControlRig* InControlRig |
Remove control rig | |
| void | Render
(
const FSceneView* View, |
||
| void | ReplaceControlRig
(
UControlRig* OldControlRig, |
Replace old Control Rig with the New Control Rig, perhaps from a recompile in the level editor | |
| void | RequestToRecreateControlShapeActors
(
UControlRig* ControlRig |
Requests to recreate the shape actors in the next tick. | |
| void | RequestTransformWidgetMode
(
UE::Widget::EWidgetMode InWidgetMode |
Request a certain transform widget for the next update | |
| void | Reset and stop user the anim slider tool | ||
| void | SelectNone () |
||
| void | SetObjects
(
UControlRig* InControlRig, |
Set the Control Rig Object to be active in the edit mode. | |
| void | Helper function: set ControlRigs array to the details panel | ||
| void | SetOnlySelectRigControls
(
bool val |
Toolbar functions. | |
| void | SetRigElementSelection
(
UControlRig* ControlRig, |
Set multiple RigElement's selection states | |
| void | SetRigElementSelection
(
UControlRig* ControlRig, |
Set a RigElement's selection state | |
| bool | SetSequencer
(
TWeakPtr< ISequencer > InSequencer |
||
| void | Set up Details Panel based upon Selected Objects | ||
| bool | |||
| void | StartAnimSliderTool
(
int32 InX |
Start Slider Tool | |
| bool | StartTracking
(
FEditorViewportClient* InViewportClient, |
||
| void | SuspendHierarchyNotifs
(
bool bVal |
Suspend Rig Hierarchy Notifies | |
| void | Tick
(
FEditorViewportClient* ViewportClient, |
||
| void | Toggles visibility of all control rig shapes in the viewport | ||
| void | Toggle Shape Transform Edit | ||
| void | Toggles visibility of acive control rig shapes in the viewport | ||
| void | Updates cached pivot transforms | ||
| bool | UsesToolkits () |
||
| bool | |||
| bool | UsesTransformWidget
(
UE::Widget::EWidgetMode CheckMode |
||
| uint32 | |||
| void | ZeroTransforms
(
bool bSelectionOnly |
Reset Transforms |
Overridden from FAnimationEditMode
| Type | Name | Description | |
|---|---|---|---|
| void | AddReferencedObjects
(
FReferenceCollector& Collector |
FGCObject interface | |
| void | Enter () |
||
| void | Exit () |
Overridden from IAnimationEditContext
| Type | Name | Description | |
|---|---|---|---|
| IPersonaPreviewScene & | |||
| bool | GetCameraTarget
(
FSphere& OutTarget |
IPersonaEditMode interface | |
| void | GetOnScreenDebugInfo
(
TArray< FText >& OutDebugInfo |
Function to collect strings from nodes to display in the viewport. |
Constants
| Name | Description |
|---|---|
| ModeName |