[Bf-blender-cvs] [be26a3402c9] temp-sculpt-cavity-mask: temp-sculpt-cavity-mask: Use automask curve for use_automask_settings

Joseph Eagar noreply at git.blender.org
Tue Aug 9 01:27:05 CEST 2022


Commit: be26a3402c909c787df2de19228e4909028c9677
Author: Joseph Eagar
Date:   Mon Aug 8 16:26:25 2022 -0700
Branches: temp-sculpt-cavity-mask
https://developer.blender.org/rBbe26a3402c909c787df2de19228e4909028c9677

temp-sculpt-cavity-mask: Use automask curve for use_automask_settings

Also fixed a few other bugs.

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

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

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

diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 7d3e927d09d..1c34c3b38fe 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -3281,8 +3281,7 @@ class VIEW3D_MT_mask(Menu):
         layout.separator()
 
         props = layout.operator("sculpt.bake_cavity", text="Mask From Cavity")
-
-        props.use_scene_settings = False
+        props.use_automask_settings = False
 
         layout.separator()
 
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index cd66638a62a..ea674d3c99a 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -1010,9 +1010,9 @@ class VIEW3D_PT_sculpt_options_gravity(Panel, View3DPaintPanel):
         col.prop(sculpt, "gravity", slider=True, text="Factor")
         col.prop(sculpt, "gravity_object")
     
-class VIEW3D_PT_sculpt_automask_bake(Panel, View3DPaintPanel):
+class VIEW3D_PT_sculpt_cavity_bake(Panel, View3DPaintPanel):
     bl_context = ".sculpt_mode"  # dot on purpose (access from topbar)
-    bl_label = "Bake Automask"
+    bl_label = "Bake Cavity Mask"
     bl_options = {'DEFAULT_CLOSED'}
     bl_ui_units_x = 12
     bl_parent_id = "VIEW3D_PT_sculpt_options"
@@ -1032,7 +1032,7 @@ class VIEW3D_PT_sculpt_automask_bake(Panel, View3DPaintPanel):
         layout.prop(WindowManager.operator_properties_last("sculpt.bake_cavity"), "mix_mode")
         layout.prop(WindowManager.operator_properties_last("sculpt.bake_cavity"), "factor")
         props = layout.operator("sculpt.bake_cavity")
-        props.use_scene_settings = True
+        props.use_automask_settings = True
 
 # TODO, move to space_view3d.py
 class VIEW3D_PT_sculpt_symmetry(Panel, View3DPaintPanel):
@@ -2476,7 +2476,7 @@ classes = (
     VIEW3D_PT_tools_grease_pencil_brush_vertex_color,
     VIEW3D_PT_tools_grease_pencil_brush_vertex_palette,
     VIEW3D_PT_tools_grease_pencil_brush_vertex_falloff,
-    VIEW3D_PT_sculpt_automask_bake,
+    VIEW3D_PT_sculpt_cavity_bake,
 )
 
 if __name__ == "__main__":  # only for live edit.
diff --git a/source/blender/editors/sculpt_paint/sculpt_ops.c b/source/blender/editors/sculpt_paint/sculpt_ops.c
index 3105bc00272..e4b785a8687 100644
--- a/source/blender/editors/sculpt_paint/sculpt_ops.c
+++ b/source/blender/editors/sculpt_paint/sculpt_ops.c
@@ -1062,7 +1062,7 @@ static int sculpt_bake_cavity_exec(bContext *C, wmOperator *op)
   SCULPT_undo_push_begin(ob, "Bake Cavity");
 
   CavityBakeMixMode mode = RNA_enum_get(op->ptr, "mix_mode");
-  float factor = RNA_float_get(op->ptr, "factor");
+  float factor = RNA_float_get(op->ptr, "mix_factor");
 
   PBVHNode **nodes;
   int totnode;
@@ -1098,7 +1098,13 @@ static int sculpt_bake_cavity_exec(bContext *C, wmOperator *op)
 
     tdata.automasking->settings.cavity_blur_steps = RNA_int_get(op->ptr, "blur_steps");
     tdata.automasking->settings.cavity_factor = RNA_float_get(op->ptr, "factor");
-    tdata.automasking->settings.cavity_curve = sd->automasking_cavity_curve_op;
+
+    if (RNA_boolean_get(op->ptr, "use_automask_settings")) {
+      tdata.automasking->settings.cavity_curve = sd->automasking_cavity_curve;
+    }
+    else {
+      tdata.automasking->settings.cavity_curve = sd->automasking_cavity_curve_op;
+    }
   }
 
   ss->stroke_id++;
@@ -1125,13 +1131,12 @@ static int sculpt_bake_cavity_exec(bContext *C, wmOperator *op)
 static void cavity_bake_ui(bContext *C, wmOperator *op)
 {
   uiLayout *layout = op->layout;
-  uiLayout *col, *row;
-  PointerRNA toolsettings_ptr;
 
   uiLayoutSetPropSep(layout, true);
   uiLayoutSetPropDecorate(layout, false);
 
   uiItemR(layout, op->ptr, "mix_mode", 0, NULL, ICON_NONE);
+  uiItemR(layout, op->ptr, "mix_factor", 0, NULL, ICON_NONE);
   uiItemR(layout, op->ptr, "factor", 0, NULL, ICON_NONE);
   uiItemR(layout, op->ptr, "use_automask_settings", 0, NULL, ICON_NONE);
   uiItemR(layout, op->ptr, "blur_steps", 0, NULL, ICON_NONE);
@@ -1142,10 +1147,18 @@ static void cavity_bake_ui(bContext *C, wmOperator *op)
     Scene *scene = CTX_data_scene(C);
     PointerRNA sculpt_ptr;
 
+    const char *curve_prop;
+
+    if (RNA_boolean_get(op->ptr, "use_automask_settings")) {
+      curve_prop = "automasking_cavity_curve";
+    }
+    else {
+      curve_prop = "automasking_cavity_curve_op";
+    }
+
     if (scene->toolsettings && scene->toolsettings->sculpt) {
       RNA_pointer_create(&scene->id, &RNA_Sculpt, scene->toolsettings->sculpt, &sculpt_ptr);
-      uiTemplateCurveMapping(
-          layout, &sculpt_ptr, "automasking_cavity_curve_op", 'v', false, false, false, false);
+      uiTemplateCurveMapping(layout, &sculpt_ptr, curve_prop, 'v', false, false, false, false);
     }
   }
   // uiItemS(layout);
@@ -1176,11 +1189,11 @@ static void SCULPT_OT_bake_cavity(wmOperatorType *ot)
   ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
 
   RNA_def_enum(ot->srna, "mix_mode", mix_modes, AUTOMASK_BAKE_MIX, "Mode", "Mix mode");
-  RNA_def_float(ot->srna, "factor", 1.0f, 0.0f, 4.0f, "Mix Factor", "", 0.0f, 2.0f);
+  RNA_def_float(ot->srna, "mix_factor", 1.0f, 0.0f, 5.0f, "Mix Factor", "", 0.0f, 1.0f);
 
   RNA_def_boolean(ot->srna,
                   "use_automask_settings",
-                  true,
+                  false,
                   "Use Automask Settings",
                   "Use default settings from Options panel in sculpt mode.");



More information about the Bf-blender-cvs mailing list