[Bf-blender-cvs] [f429a7dc130] sculpt-dev: Sculpt Expand: Split snap event into two separate events

Pablo Dobarro noreply at git.blender.org
Wed Mar 17 16:59:23 CET 2021


Commit: f429a7dc130106fa9ed73a69178050ae7792bc39
Author: Pablo Dobarro
Date:   Wed Mar 17 16:58:56 2021 +0100
Branches: sculpt-dev
https://developer.blender.org/rBf429a7dc130106fa9ed73a69178050ae7792bc39

Sculpt Expand: Split snap event into two separate events

===================================================================

M	release/scripts/presets/keyconfig/keymap_data/blender_default.py
M	source/blender/editors/sculpt_paint/sculpt_expand.c

===================================================================

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index a659cc331bc..866c625b9c5 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -5605,7 +5605,8 @@ def km_sculpt_expand_modal(_params):
         ("FALLOFF_TOPOLOGY", {"type": 'TWO', "value": 'PRESS', "any": True}, None),
         ("FALLOFF_TOPOLOGY_DIAGONALS", {"type": 'THREE', "value": 'PRESS', "any": True}, None),
         ("FALLOFF_SPHERICAL", {"type": 'FOUR', "value": 'PRESS', "any": True}, None),
-        ("SNAP_TOGGLE", {"type": 'LEFT_CTRL', "value": 'ANY'}, None),
+        ("SNAP_ENABLE", {"type": 'LEFT_CTRL', "value": 'PRESS'}, None),
+        ("SNAP_DISABLE", {"type": 'LEFT_CTRL', "value": 'RELEASE'}, None),
         ("LOOP_COUNT_INCREASE", {"type": 'W', "value": 'PRESS', "any": True, "repeat": True}, None),
         ("LOOP_COUNT_DECREASE", {"type": 'Q', "value": 'PRESS', "any": True, "repeat": True}, None),
         ("BRUSH_GRADIENT_TOGGLE", {"type": 'B', "value": 'PRESS', "any": True}, None),
diff --git a/source/blender/editors/sculpt_paint/sculpt_expand.c b/source/blender/editors/sculpt_paint/sculpt_expand.c
index b6b493199b1..1323994bb9f 100644
--- a/source/blender/editors/sculpt_paint/sculpt_expand.c
+++ b/source/blender/editors/sculpt_paint/sculpt_expand.c
@@ -138,7 +138,8 @@ enum {
   SCULPT_EXPAND_MODAL_FALLOFF_TOPOLOGY,
   SCULPT_EXPAND_MODAL_FALLOFF_TOPOLOGY_DIAGONALS,
   SCULPT_EXPAND_MODAL_FALLOFF_SPHERICAL,
-  SCULPT_EXPAND_MODAL_SNAP_TOGGLE,
+  SCULPT_EXPAND_MODAL_SNAP_ENABLE,
+  SCULPT_EXPAND_MODAL_SNAP_DISABLE,
   SCULPT_EXPAND_MODAL_LOOP_COUNT_INCREASE,
   SCULPT_EXPAND_MODAL_LOOP_COUNT_DECREASE,
   SCULPT_EXPAND_MODAL_BRUSH_GRADIENT_TOGGLE,
@@ -297,7 +298,7 @@ static bool sculpt_expand_face_state_get(SculptSession *ss, ExpandCache *expand_
 
     const float active_factor = fmod(expand_cache->active_falloff, loop_len);
     const float falloff_factor = fmod(expand_cache->face_falloff[f], loop_len);
-    enabled = falloff_factor < active_factor;
+    enabled = falloff_factor <= active_factor;
   }
 
   if (expand_cache->falloff_type == SCULPT_EXPAND_FALLOFF_ACTIVE_FACE_SET) {
@@ -1806,22 +1807,20 @@ static int sculpt_expand_modal(bContext *C, wmOperator *op, const wmEvent *event
         }
         break;
       }
-      case SCULPT_EXPAND_MODAL_SNAP_TOGGLE: {
-        if (expand_cache->snap) {
-          expand_cache->snap = false;
-          if (expand_cache->snap_enabled_face_sets) {
-            BLI_gset_free(expand_cache->snap_enabled_face_sets, NULL);
-            expand_cache->snap_enabled_face_sets = NULL;
-          }
-        }
-        else {
+      case SCULPT_EXPAND_MODAL_SNAP_ENABLE: {
           expand_cache->snap = true;
           if (!expand_cache->snap_enabled_face_sets) {
             expand_cache->snap_enabled_face_sets = BLI_gset_int_new("snap face sets");
           }
           sculpt_expand_snap_initialize_from_enabled(ss, expand_cache);
-        }
       } break;
+      case SCULPT_EXPAND_MODAL_SNAP_DISABLE: {
+          expand_cache->snap = false;
+          if (expand_cache->snap_enabled_face_sets) {
+            BLI_gset_free(expand_cache->snap_enabled_face_sets, NULL);
+            expand_cache->snap_enabled_face_sets = NULL;
+          }
+      }break;
       case SCULPT_EXPAND_MODAL_MOVE_TOGGLE: {
         if (expand_cache->move) {
           expand_cache->move = false;
@@ -2192,7 +2191,8 @@ void sculpt_expand_modal_keymap(wmKeyConfig *keyconf)
        "Diagonals Falloff",
        ""},
       {SCULPT_EXPAND_MODAL_FALLOFF_SPHERICAL, "FALLOFF_SPHERICAL", 0, "Spherical Falloff", ""},
-      {SCULPT_EXPAND_MODAL_SNAP_TOGGLE, "SNAP_TOGGLE", 0, "Snap expand to Face Sets", ""},
+      {SCULPT_EXPAND_MODAL_SNAP_ENABLE, "SNAP_ENABLE", 0, "Snap expand to Face Sets", ""},
+      {SCULPT_EXPAND_MODAL_SNAP_DISABLE, "SNAP_DISABLE", 0, "Disable Snap expand to Face Sets", ""},
       {SCULPT_EXPAND_MODAL_LOOP_COUNT_INCREASE,
        "LOOP_COUNT_INCREASE",
        0,



More information about the Bf-blender-cvs mailing list