Fix nan problem in previous bevel commit.

For chains, access to g_prod[0] was undefined.
And two minor style (whitespace) changes.
This commit is contained in:
Howard Trickey 2018-01-29 10:01:19 -05:00
parent 263efb0b9a
commit cebc7bb198
4 changed files with 6 additions and 7 deletions

@ -1 +1 @@
Subproject commit cd65bc3277eda27e1c0b9f20a25928f6586d89a8 Subproject commit 469c949d1ca882be19daa128842f813b72a944d8

@ -1 +1 @@
Subproject commit f5536e5e49c34dfc0a7b8990257cd393339e23c6 Subproject commit c88411ff7776a2db5d6ef6117a1b2faa42a95611

@ -1985,6 +1985,7 @@ static bool adjust_the_cycle_or_chain_fast(BoundVert *vstart, int np, bool iscyc
g_prod[i] = gprod; g_prod[i] = gprod;
gprod_sum += gprod; gprod_sum += gprod;
} }
g_prod[0] = 1.0f;
if (iscycle) { if (iscycle) {
gprod *= g[0]; gprod *= g[0];
if (fabs(gprod - 1.0f) > BEVEL_EPSILON) { if (fabs(gprod - 1.0f) > BEVEL_EPSILON) {
@ -1993,8 +1994,6 @@ static bool adjust_the_cycle_or_chain_fast(BoundVert *vstart, int np, bool iscyc
MEM_freeN(g_prod); MEM_freeN(g_prod);
return false; return false;
} }
else
g_prod[0] = 1.0f;
} }
if (gprod_sum == 0.0f) { if (gprod_sum == 0.0f) {
MEM_freeN(g); MEM_freeN(g);
@ -2163,7 +2162,7 @@ static void adjust_offsets(BevelParams *bp)
/* first follow paired edges in left->right direction */ /* first follow paired edges in left->right direction */
v = vchainstart = vanchor; v = vchainstart = vanchor;
iscycle = false; iscycle = false;
while(v->eon && !v->visited && !iscycle) { while (v->eon && !v->visited && !iscycle) {
enext = find_other_end_edge_half(bp, v->efirst, &bvcur); enext = find_other_end_edge_half(bp, v->efirst, &bvcur);
BLI_assert(enext != NULL); BLI_assert(enext != NULL);
vnext = enext->leftv; vnext = enext->leftv;
@ -2191,7 +2190,7 @@ static void adjust_offsets(BevelParams *bp)
vchainstart = vnext; vchainstart = vnext;
v->visited = true; v->visited = true;
v = vnext; v = vnext;
} while(!v->visited && v->eon); } while (!v->visited && v->eon);
adjust_the_cycle_or_chain(vchainstart, false); adjust_the_cycle_or_chain(vchainstart, false);
} }
} while ((vanchor = vanchor->next) != bv->vmesh->boundstart); } while ((vanchor = vanchor->next) != bv->vmesh->boundstart);

@ -1 +1 @@
Subproject commit ccf20e08702ee6424edbda01544bb9f8bc386de4 Subproject commit 7695e14cfc5820ac66546e0e515914d85ab81af3