Fix for recent error, ngons now flipped correctly

This commit is contained in:
Campbell Barton 2015-07-07 19:53:56 +10:00
parent 23aa425cd9
commit 5af1daa2dc

@ -2391,12 +2391,12 @@ int BKE_mesh_recalc_tessellation(
zero_v3(normal); zero_v3(normal);
/* calc normal */ /* calc normal, flipped: to get a positive 2d cross product */
ml = mloop + mp_loopstart; ml = mloop + mp_loopstart;
co_prev = mvert[ml[mp_totloop - 1].v].co; co_prev = mvert[ml[mp_totloop - 1].v].co;
for (j = 0; j < mp_totloop; j++, ml++) { for (j = 0; j < mp_totloop; j++, ml++) {
co_curr = mvert[ml->v].co; co_curr = mvert[ml->v].co;
add_newell_cross_v3_v3v3(normal, co_prev, co_curr); add_newell_cross_v3_v3v3(normal, co_curr, co_prev);
co_prev = co_curr; co_prev = co_curr;
} }
if (UNLIKELY(normalize_v3(normal) == 0.0f)) { if (UNLIKELY(normalize_v3(normal) == 0.0f)) {
@ -2411,7 +2411,7 @@ int BKE_mesh_recalc_tessellation(
mul_v2_m3v3(projverts[j], axis_mat, mvert[ml->v].co); mul_v2_m3v3(projverts[j], axis_mat, mvert[ml->v].co);
} }
BLI_polyfill_calc_arena((const float (*)[2])projverts, mp_totloop, -1, tris, arena); BLI_polyfill_calc_arena((const float (*)[2])projverts, mp_totloop, 1, tris, arena);
/* apply fill */ /* apply fill */
for (j = 0; j < totfilltri; j++) { for (j = 0; j < totfilltri; j++) {