diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-12-08 11:35:54 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-12-08 11:35:54 +0400 |
commit | a3ce9408a2f20e70c2f037a7b9d3f332713a6931 (patch) | |
tree | 6108cbd3c6ce370ea15050f8bbd207a6f7a22a90 /source | |
parent | 7c64de3eb83568579ed0cc4878d8a0a508b010cd (diff) |
fix [#33438] Bevel modifier "angle" mode is broken
bevel modifier was making zero area faces & edges that made scanfill fail (since it no longer removes doubles when filling ngons)
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/bmesh/tools/BME_bevel.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/bmesh/tools/BME_bevel.c b/source/blender/bmesh/tools/BME_bevel.c index cdfd8372d61..3f2ca21bcee 100644 --- a/source/blender/bmesh/tools/BME_bevel.c +++ b/source/blender/bmesh/tools/BME_bevel.c @@ -689,8 +689,16 @@ static BMFace *BME_bevel_poly(BMesh *bm, BMFace *f, float value, int options, BM BMO_elem_flag_test(bm, l->v, BME_BEVEL_ORIG) && !BMO_elem_flag_test(bm, l->prev->e, BME_BEVEL_BEVEL)) { - max = 1.0f; - l = BME_bevel_vert(bm, l, value, options, up_vec, td); + /* avoid making double vertices [#33438] */ + BME_TransData *vtd; + vtd = BME_get_transdata(td, l->v); + if (vtd->weight == 0.0f) { + BMO_elem_flag_disable(bm, l->v, BME_BEVEL_BEVEL); + } + else { + max = 1.0f; + l = BME_bevel_vert(bm, l, value, options, up_vec, td); + } } } |