[Bf-blender-cvs] [cbcc2c22d92] master: Fix Bevel T64107 - width/depth value wrong for vertex only.
Howard Trickey
noreply at git.blender.org
Tue May 7 15:32:30 CEST 2019
Commit: cbcc2c22d92b05f4cfe5d5ae049c3c45f043a099
Author: Howard Trickey
Date: Tue May 7 09:26:53 2019 -0400
Branches: master
https://developer.blender.org/rBcbcc2c22d92b05f4cfe5d5ae049c3c45f043a099
Fix Bevel T64107 - width/depth value wrong for vertex only.
Code fix from George Vogiatzis (Gvgeo), via D4811.
Needed to initalize vert_axis.
===================================================================
M source/blender/bmesh/tools/bmesh_bevel.c
===================================================================
diff --git a/source/blender/bmesh/tools/bmesh_bevel.c b/source/blender/bmesh/tools/bmesh_bevel.c
index af5ce4ed9ac..a559d13fc70 100644
--- a/source/blender/bmesh/tools/bmesh_bevel.c
+++ b/source/blender/bmesh/tools/bmesh_bevel.c
@@ -5222,7 +5222,7 @@ static BevVert *bevel_vert_construct(BMesh *bm, BevelParams *bp, BMVert *v)
BMIter iter;
EdgeHalf *e;
float weight, z;
- float vert_axis[3];
+ float vert_axis[3] = {0, 0, 0};
int i, ccw_test_sum;
int nsel = 0;
int ntot = 0;
@@ -5357,7 +5357,6 @@ static BevVert *bevel_vert_construct(BMesh *bm, BevelParams *bp, BMVert *v)
normalize_v3(edge_dir);
add_v3_v3v3(vert_axis, vert_axis, edge_dir);
}
- mul_v3_fl(vert_axis, 1 / ntot);
}
}
@@ -5430,8 +5429,7 @@ static BevVert *bevel_vert_construct(BMesh *bm, BevelParams *bp, BMVert *v)
case BEVEL_AMT_WIDTH: {
v2 = BM_edge_other_vert(e->e, bv->v);
sub_v3_v3v3(edge_dir, bv->v->co, v2->co);
- normalize_v3(edge_dir);
- z = fabsf(2.0f * sinf(angle_normalized_v3v3(vert_axis, edge_dir)));
+ z = fabsf(2.0f * sinf(angle_v3v3(vert_axis, edge_dir)));
if (z < BEVEL_EPSILON) {
e->offset_l_spec = 0.01f * bp->offset; /* undefined behavior, so tiny bevel. */
}
@@ -5443,8 +5441,7 @@ static BevVert *bevel_vert_construct(BMesh *bm, BevelParams *bp, BMVert *v)
case BEVEL_AMT_DEPTH: {
v2 = BM_edge_other_vert(e->e, bv->v);
sub_v3_v3v3(edge_dir, bv->v->co, v2->co);
- normalize_v3(edge_dir);
- z = fabsf(cosf(angle_normalized_v3v3(vert_axis, edge_dir)));
+ z = fabsf(cosf(angle_v3v3(vert_axis, edge_dir)));
if (z < BEVEL_EPSILON) {
e->offset_l_spec = 0.01f * bp->offset; /* undefined behavior, so tiny bevel. */
}
More information about the Bf-blender-cvs
mailing list