Blender Git Loki

Git Commits -> Revision c6e49ad

Revision c6e49ad by Germano Cavalcante
November 19, 2021, 19:06 (GMT)
Allow navigating while transforming

Navigating while transforming is not a new idea:
- https://rightclickselect.com/p/ui/Tqbbbc/allow-navigating-while-transforming (See comments);
- {D1583}
- {T37427}

This feature allows us to be more precise where the transformed element will be placed.

This would avoid, for example, the need for the node editor to automatically update the viewport when a node is transformed.

And with {D9415} navigating while transform becomes a necessity because: how could we move from a point at the bottom of one object to the top of another without being able to rotate the view?

##Patch
The patch implements this feature as being experimental (See image):
{F11826349, layout=left, width=600}
Because transform's modal keymaps conflict, two (temporary) operators were created to update the keymap and avoid conflicts.
The main solution in the patch was to create the `bool WM_operator_do_navigation(...);` utility that can be used for any operator.

##Implementation Details
- This feature affects all editors where transforming is possible (UV, VSE, Graph...)
- The Node editor is the only one that, when canceling, the viewport position is reset
- Default modal keymaps need to be edited to avoid conflict (in the patch a temporary operator was implemented to automatically update keymaps)

Differential Revision: https://developer.blender.org/D2624

Commit Details:

Full Hash: c6e49ad951e3a49b2d184febd70b9dfaafc906ce
Parent Commit: 50ad0e1
Lines Changed: +551, -27

13 Modified Paths:

/release/scripts/startup/bl_ui/space_userpref.py (+8, -0) (Diff)
/source/blender/editors/transform/transform.c (+0, -3) (Diff)
/source/blender/editors/transform/transform.h (+6, -0) (Diff)
/source/blender/editors/transform/transform_convert_node.c (+8, -8) (Diff)
/source/blender/editors/transform/transform_generics.c (+58, -14) (Diff)
/source/blender/editors/transform/transform_input.c (+26, -0) (Diff)
/source/blender/editors/transform/transform_ops.c (+329, -0) (Diff)
/source/blender/makesdna/DNA_userdef_types.h (+2, -1) (Diff)
/source/blender/makesrna/intern/rna_userdef.c (+4, -0) (Diff)
/source/blender/windowmanager/intern/wm_event_system.c (+1, -1) (Diff)
/source/blender/windowmanager/intern/wm_operator_utils.c (+105, -0) (Diff)
/source/blender/windowmanager/WM_api.h (+3, -0) (Diff)
/source/blender/windowmanager/wm_event_system.h (+1, -0) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021