[Bf-blender-cvs] [30b6d7826d9] sculpt-dev: Sculpt: Reset all brushes operator

Pablo Dobarro noreply at git.blender.org
Wed Jan 20 18:56:55 CET 2021


Commit: 30b6d7826d98f0f46f226b35fbc6e48e2948849c
Author: Pablo Dobarro
Date:   Wed Jan 20 18:48:34 2021 +0100
Branches: sculpt-dev
https://developer.blender.org/rB30b6d7826d98f0f46f226b35fbc6e48e2948849c

Sculpt: Reset all brushes operator

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

M	release/scripts/startup/bl_ui/space_view3d.py
M	source/blender/editors/sculpt_paint/sculpt.c

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

diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 8c3c67d1061..782b3b464d7 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -3020,6 +3020,10 @@ class VIEW3D_MT_sculpt(Menu):
 
         layout.operator("sculpt.optimize")
 
+        layout.separator()
+
+        layout.operator("sculpt.reset_brushes")
+
 
 class VIEW3D_MT_mask(Menu):
     bl_label = "Mask"
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 6a88b4b1ebc..2468718a4d7 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -10557,6 +10557,39 @@ float *SCULPT_geodesic_from_vertex(Object *ob, const int vertex, const float lim
   return dists;
 }
 
+
+static int sculpt_reset_brushes_exec(bContext *C, wmOperator *op)
+{
+  Main *bmain = CTX_data_main(C);
+
+  LISTBASE_FOREACH (Brush *, br, &bmain->brushes) {
+      if (br->ob_mode != OB_MODE_SCULPT) {
+          continue;
+      }
+      BKE_brush_sculpt_reset(br);
+      WM_event_add_notifier(C, NC_BRUSH | NA_EDITED, br);
+  }
+
+
+  return OPERATOR_FINISHED;
+}
+
+static void SCULPT_OT_reset_brushes(struct wmOperatorType *ot)
+{
+  /* Identifiers. */
+  ot->name = "Reset Sculpt Brushes";
+  ot->idname = "SCULPT_OT_reset_brushes";
+  ot->description = "Resets all sculpt brushes to their default value";
+
+  /* API callbacks. */
+  ot->exec = sculpt_reset_brushes_exec;
+  ot->poll = SCULPT_mode_poll;
+
+  ot->flag = OPTYPE_REGISTER;
+}
+
+
+
 void ED_operatortypes_sculpt(void)
 {
   WM_operatortype_append(SCULPT_OT_brush_stroke);
@@ -10595,4 +10628,6 @@ void ED_operatortypes_sculpt(void)
   WM_operatortype_append(SCULPT_OT_mask_by_color);
   WM_operatortype_append(SCULPT_OT_dyntopo_detail_size_edit);
   WM_operatortype_append(SCULPT_OT_mask_init);
+  WM_operatortype_append(SCULPT_OT_reset_brushes);
+
 }



More information about the Bf-blender-cvs mailing list