diff options
m--------- | release/datafiles/locale | 0 | ||||
m--------- | release/scripts/addons | 0 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/properties_data_modifier.py | 5 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_modifier.c | 9 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_bevel.c | 3 |
5 files changed, 14 insertions, 3 deletions
diff --git a/release/datafiles/locale b/release/datafiles/locale -Subproject 345b7d27872d87ae5074a83d8b9995b37bc56f1 +Subproject 8eafc437295b0edc990db231fe957e2ad42af70 diff --git a/release/scripts/addons b/release/scripts/addons -Subproject 40340832e3992f46034b470aef1af6f7a3a4410 +Subproject d31844cc0b3be397b5032cb0c5d8daea3958478 diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index 52af0512a0c..a6bab561e29 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -136,7 +136,10 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): split = layout.split() col = split.column() - col.prop(md, "width") + if md.offset_type == 'PERCENT': + col.prop(md, "width_pct") + else: + col.prop(md, "width") col.prop(md, "segments") col.prop(md, "profile") col.prop(md, "material") diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c index 5bc925ea969..2ef4773de20 100644 --- a/source/blender/makesrna/intern/rna_modifier.c +++ b/source/blender/makesrna/intern/rna_modifier.c @@ -3066,7 +3066,14 @@ static void rna_def_modifier_bevel(BlenderRNA *brna) RNA_def_property_float_sdna(prop, NULL, "value"); RNA_def_property_range(prop, 0, FLT_MAX); RNA_def_property_ui_range(prop, 0.0f, 100.0f, 0.1, 4); - RNA_def_property_ui_text(prop, "Width", "Bevel value/amount"); + RNA_def_property_ui_text(prop, "Width", "Bevel amount"); + RNA_def_property_update(prop, 0, "rna_Modifier_update"); + + prop = RNA_def_property(srna, "width_pct", PROP_FLOAT, PROP_FACTOR); + RNA_def_property_float_sdna(prop, NULL, "value"); + RNA_def_property_range(prop, 0, FLT_MAX); + RNA_def_property_ui_range(prop, 0.0f, 100.0f, 5.0, 2); + RNA_def_property_ui_text(prop, "Width Percent", "Bevel amount for percentage method"); RNA_def_property_update(prop, 0, "rna_Modifier_update"); prop = RNA_def_property(srna, "segments", PROP_INT, PROP_NONE); diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 363cdb083d4..6eee697a739 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -112,6 +112,7 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes const bool vertex_only = (bmd->flags & MOD_BEVEL_VERT) != 0; const bool do_clamp = !(bmd->flags & MOD_BEVEL_OVERLAP_OK); const int offset_type = bmd->val_flags; + const float value = bmd->value; const int mat = CLAMPIS(bmd->mat, -1, ctx->object->totcol - 1); const bool loop_slide = (bmd->flags & MOD_BEVEL_EVEN_WIDTHS) == 0; const bool mark_seam = (bmd->edge_flags & MOD_BEVEL_MARK_SEAM); @@ -192,7 +193,7 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes harden_normals = false; } - BM_mesh_bevel(bm, bmd->value, offset_type, bmd->res, bmd->profile, + BM_mesh_bevel(bm, value, offset_type, bmd->res, bmd->profile, vertex_only, bmd->lim_flags & MOD_BEVEL_WEIGHT, do_clamp, dvert, vgroup, mat, loop_slide, mark_seam, mark_sharp, harden_normals, face_strength_mode, mesh->smoothresh); |