[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