diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2017-05-23 14:55:14 +0300 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2017-05-23 14:55:14 +0300 |
commit | 49cc78ef1818eaff3db722683d155d3466d35e82 (patch) | |
tree | e5e610a3a22055445e1853d3a4ba07b32c33aae3 /source/blender/bmesh | |
parent | 72d67ba4c24d4d86c30061a7c2ad3f29c2550529 (diff) |
Fix T48668, bevel mistake on presumed reflex angle.
Note: the angle in bug isn't really reflex - using the vertex normal
for this test isn't always right, but usually is. At any rate,
shouldn't try to put vertex on edge between if a reflex angle.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r-- | source/blender/bmesh/tools/bmesh_bevel.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/bmesh/tools/bmesh_bevel.c b/source/blender/bmesh/tools/bmesh_bevel.c index a05c12a2730..5f4ed3db261 100644 --- a/source/blender/bmesh/tools/bmesh_bevel.c +++ b/source/blender/bmesh/tools/bmesh_bevel.c @@ -916,8 +916,12 @@ static bool offset_meet_edge(EdgeHalf *e1, EdgeHalf *e2, BMVert *v, float meetc return false; } cross_v3_v3v3(fno, dir1, dir2); - if (dot_v3v3(fno, v->no) < 0.0f) + if (dot_v3v3(fno, v->no) < 0.0f) { ang = 2.0f * (float)M_PI - ang; /* angle is reflex */ + if (r_angle) + *r_angle = ang; + return false; + } if (r_angle) *r_angle = ang; |