diff options
author | Hans Goudey <h.goudey@me.com> | 2020-05-19 23:40:53 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2020-05-19 23:40:53 +0300 |
commit | 8e0a57f9bd58b8325329f4cf564de0b39c98c6e3 (patch) | |
tree | a8907d02390ed9f27cb934d675296cc47d6667b4 /source/blender/bmesh/tools/bmesh_bevel.c | |
parent | 0a19b8a5b44e18a22d41d67b82785504eeb65ce2 (diff) | |
parent | c554f4e14fce679e047fd8ee75368548de70d0cb (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/bmesh/tools/bmesh_bevel.c')
-rw-r--r-- | source/blender/bmesh/tools/bmesh_bevel.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/bmesh/tools/bmesh_bevel.c b/source/blender/bmesh/tools/bmesh_bevel.c index d1ddceb00b0..720eb34bda7 100644 --- a/source/blender/bmesh/tools/bmesh_bevel.c +++ b/source/blender/bmesh/tools/bmesh_bevel.c @@ -4167,6 +4167,10 @@ static int tri_corner_test(BevelParams *bp, BevVert *bv) if (bv->vmesh->count != 3) { return 0; } + + /* Only use the tri-corner special case if the offset is the same for every edge. */ + float offset = bv->edges[0].offset_l; + totang = 0.0f; for (i = 0; i < bv->edgecount; i++) { e = &bv->edges[i]; @@ -4178,6 +4182,11 @@ static int tri_corner_test(BevelParams *bp, BevVert *bv) else if (absang >= 3.0f * (float)M_PI_4) { return -1; } + + if (e->is_bev && !compare_ff(e->offset_l, offset, BEVEL_EPSILON)) { + return -1; + } + totang += ang; } if (in_plane_e != bv->edgecount - 3) { |