[Bf-blender-cvs] [966f02a8cf9] sculpt-mode-features: Mask filter: add auto iteration count for pie menu
Pablo Dobarro
noreply at git.blender.org
Mon Aug 5 15:41:08 CEST 2019
Commit: 966f02a8cf99f6f138cd1424eb8b6e93dc32969a
Author: Pablo Dobarro
Date: Mon Aug 5 15:41:41 2019 +0200
Branches: sculpt-mode-features
https://developer.blender.org/rB966f02a8cf99f6f138cd1424eb8b6e93dc32969a
Mask filter: add auto iteration count for pie menu
===================================================================
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 45e5e8ddbbe..3bfeadf9363 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -4792,12 +4792,22 @@ class VIEW3D_MT_sculpt_mask_edit_pie(Menu):
pie.operator("object.paint_mask_extract")
pie.operator("sculpt.mask_expand")
- pie.operator("paint.mask_flood_fill", text='Invert Mask').mode = 'INVERT'
- pie.operator("paint.mask_flood_fill", text='Clear Mask').mode = 'VALUE'
- pie.operator("sculpt.mask_filter", text='Blur Mask').type = 'BLUR'
- pie.operator("sculpt.mask_filter", text='Grow Mask').type = 'GROW'
- pie.operator("sculpt.mask_filter", text='Sharpen Mask').type = 'SHARPEN'
- pie.operator("sculpt.mask_filter", text='Shrink Mask').type = 'SHRINK'
+ op = pie.operator("paint.mask_flood_fill", text='Invert Mask')
+ op.mode = 'INVERT'
+ op = pie.operator("paint.mask_flood_fill", text='Clear Mask')
+ op.mode = 'VALUE'
+ op = pie.operator("sculpt.mask_filter", text='Blur Mask')
+ op.type = 'BLUR'
+ op.auto_iteration_count = True;
+ op = pie.operator("sculpt.mask_filter", text='Grow Mask')
+ op.type = 'GROW'
+ op.auto_iteration_count = True;
+ op = pie.operator("sculpt.mask_filter", text='Sharpen Mask')
+ op.type = 'SHARPEN'
+ op.auto_iteration_count = True;
+ op = pie.operator("sculpt.mask_filter", text='Shrink Mask')
+ op.type = 'SHRINK'
+ op.auto_iteration_count = True;
# ********** Panel **********
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 18d2beb2c2a..5e211e22260 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -8714,6 +8714,10 @@ static int sculpt_mask_filter_invoke(bContext *C, wmOperator *op)
sculpt_undo_push_node(ob, nodes[i], SCULPT_UNDO_MASK);
}
+ if (RNA_boolean_get(op->ptr, "auto_iteration_count")) {
+ iterations = (sculpt_vertex_count_get(ss) / 50000.0f) + 1;
+ }
+
if (mode == MASK_FILTER_DIRTY) {
iterations = 1;
}
@@ -8808,6 +8812,7 @@ void SCULPT_OT_mask_filter(struct wmOperatorType *ot)
ot->prop = RNA_def_enum(ot->srna, "type", prop_mask_filter_types, MASK_FILTER_BLUR, "Type", "");
ot->prop = RNA_def_int(ot->srna, "iterations", 1, 1, 100, "Iterations", "", 1, 50);
ot->prop = RNA_def_boolean(ot->srna, "dirty_only", false, "Dirty Only", "");
+ ot->prop = RNA_def_boolean(ot->srna, "auto_iteration_count", false, "Auto iteration count", "");
}
static void do_color_fill_task_cb(void *__restrict userdata,
More information about the Bf-blender-cvs
mailing list