Removed a rarely expressed bug on CollapseDiag

This commit is contained in:
mtarini 2009-09-24 16:12:57 +00:00
parent 8be83c0e45
commit 5acb759d8e
1 changed files with 7 additions and 4 deletions

View File

@ -411,10 +411,9 @@ static void _CollapseDiagHalf(FaceType &f, int faux, MeshType& m)
}
}
//DecreaseValencyMaybeRemove(f.V(faux2),1,m); // update valency
DecreaseValency(&f,faux2,m); // update valency
Allocator<MeshType>::DeleteFace(m,f);
//DecreaseValency(&f,faux2,m); // update valency
//Allocator<MeshType>::DeleteFace(m,f);
}
@ -766,6 +765,11 @@ static bool CollapseDiag(FaceType &f, ScalarType interpol, MeshType& m, Pos* aff
_CollapseDiagHalf(*fb, fauxb, m);
_CollapseDiagHalf(*fa, fauxa, m);
DecreaseValency(fb,(fauxb+2)%3,m); // update valency
DecreaseValency(fa,(fauxa+2)%3,m); // update valency
Allocator<MeshType>::DeleteFace(m,*fa);
Allocator<MeshType>::DeleteFace(m,*fb);
//assert(val == GetValency(vb));
SetValency(va, GetValency(va)+val-2);
@ -888,7 +892,6 @@ static void UpdateValencyInQuality(MeshType& m){
}
static bool HasConsistentValencyFlag(MeshType &m) {
//(m);
UpdateValencyInQuality(m);
for (FaceIterator fi = m.face.begin(); fi!=m.face.end(); fi++) if (!fi->IsD()) {
for (int k=0; k<3; k++)