Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoward Trickey <howard.trickey@gmail.com>2019-01-07 15:29:54 +0300
committerHoward Trickey <howard.trickey@gmail.com>2019-01-07 15:29:54 +0300
commitb786416106136ac5fd0b9ea55a0b0cf0c029243e (patch)
tree56edcc72aa8a30b1280c4a5a71dfce834fbe285f /source/blender
parentf19b3f9b77a54e12a083bde0a6036d7d60bb53e6 (diff)
Fix T59151 Bevel modifier has bad input width for percent.
The units scaling was inappropriate when the bevel value was to be interpreted as a percent, so added a separate rna property for "Width Percent" and made UI show the width appropriate for current offset_type.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/makesrna/intern/rna_modifier.c9
-rw-r--r--source/blender/modifiers/intern/MOD_bevel.c3
2 files changed, 10 insertions, 2 deletions
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);