Fix bevel bug #33906, unwanted distortion with skewed meshes.

The code for making a rounded profile edge at a vertex needed
a special case for when that profile is on the third face
(the one not touched by the beveled edge) when only one edge
is beveled and the three faces are not orthogonal.
This commit is contained in:
Howard Trickey 2013-01-31 12:54:06 +00:00
parent ad76a8a10c
commit 7d3c6b2760

@ -1654,7 +1654,13 @@ static void build_vmesh(BevelParams *bp, BMesh *bm, BevVert *bv)
if (v->ebev) {
va = mesh_vert(vm, i, 0, 0)->co;
vb = mesh_vert(vm, i, 0, ns)->co;
project_to_edge(v->ebev->e, va, vb, midco);
if (bv->edgecount == 3 && bv->selcount == 1) {
/* special case: profile cuts the third face, so line it up with that */
copy_v3_v3(midco, bv->v->co);
}
else {
project_to_edge(v->ebev->e, va, vb, midco);
}
for (k = 1; k < ns; k++) {
get_point_on_round_edge(v->ebev, k, va, midco, vb, co);
copy_v3_v3(mesh_vert(vm, i, 0, k)->co, co);