Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGermano Cavalcante <mano-wii>2021-11-17 03:05:30 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2021-11-18 19:14:18 +0300
commit1d1855e95f916685fed970904fc37701a4a0e031 (patch)
treea62ec25eb008f5b5b1d83bc2bc523ee1c8b3885f /source/blender/editors/transform/transform.h
parentcb3ba68ec4470a170905a2dc9ea64b8fa1f8ace3 (diff)
Allow navigating while transforming
This feature has been desired for some time: - https://rightclickselect.com/p/ui/Tqbbbc/allow-navigating-while-transforming (See comments); - D1583; - T37427; In short, blocking navigation during transform limits the user to move the object only to visible areas within the screen and hinders the allocation of objects within closed meshes. The node editor is also impaired because some nodes are far between them and the connectors are too small. The only disadvantage of this patch (as I see it) is the conflict with the existing key map: MIDDLEMOUSE: - enable axis constrain in 3D view; WHEELDOWNMOUSE, WHEELUPMOUSE, PAGEUPKEY, PAGEDOWNKEY: - change the threshold of the proportional edit; So the patch solution was to change these keymaps: - MIDDLEMOUSE to Alt+MIDDLEMOUSE; - WHEELDOWNMOUSE, WHEELUPMOUSE, PAGEUPKEY, PAGEDOWNKEY to Alt+(corresponding key); When you use this new keymap for the first time in the proportional edit, it may seem strange due to the custom of using it (both in View2D and View3D). But quickly the user gets used to it. Alternatively we can add an option to the user preferences ([] Allow navigating while transforming). (I'm not much fan of this option). The patch was done on branch2.8. But maybe it's a good idea to apply it to 2.79 Differential Revision: https://developer.blender.org/D2624
Diffstat (limited to 'source/blender/editors/transform/transform.h')
-rw-r--r--source/blender/editors/transform/transform.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index 6219bdba6b7..9046f1970a3 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -155,6 +155,9 @@ typedef enum {
/** No cursor wrapping on region bounds */
T_NO_CURSOR_WRAP = 1 << 23,
+
+ /** To indicate that V3D matrices have changed due to navigation. */
+ T_VIEW_DIRTY = 1 << 24,
} eTFlag;
/** #TransInfo.modifiers */
@@ -766,6 +769,7 @@ void applyMouseInput(struct TransInfo *t,
const int mval[2],
float output[3]);
void transform_input_reset(MouseInput *mi, const int mval[2]);
+void transform_input_update(TransInfo *t, const float fac);
void setCustomPoints(TransInfo *t, MouseInput *mi, const int start[2], const int end[2]);
void setCustomPointsFromDirection(TransInfo *t, MouseInput *mi, const float dir[2]);
@@ -798,6 +802,7 @@ void calculateCenter2D(TransInfo *t);
void calculateCenterLocal(TransInfo *t, const float center_global[3]);
void calculateCenter(TransInfo *t);
+void tranformViewUpdate(TransInfo *t);
/* API functions for getting center points */
void calculateCenterBound(TransInfo *t, float r_center[3]);