Fixed bug #8597, Subsurf error

This was actually an error with the array modifier. Merging vertices would sometimes create degenerate faces (e.g. face.v1 == face.v3)
This commit is contained in:
Nicholas Bishop 2008-03-21 23:06:15 +00:00
parent 7e031b7a39
commit 76f34bcdd9

@ -1010,7 +1010,7 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd,
numFaces++;
/* if the face has fewer than 3 vertices, don't create it */
if(mf->v3 == 0) {
if(mf->v3 == 0 || (mf->v1 && (mf->v1 == mf->v3 || mf->v1 == mf->v4))) {
numFaces--;
DM_free_face_data(result, numFaces, 1);
}
@ -1032,7 +1032,7 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd,
numFaces++;
/* if the face has fewer than 3 vertices, don't create it */
if(mf2->v3 == 0) {
if(mf2->v3 == 0 || (mf->v1 && (mf->v1 == mf->v3 || mf->v1 == mf->v4))) {
numFaces--;
DM_free_face_data(result, numFaces, 1);
}