Take account for deletion in isComplexManifold

This commit is contained in:
Massimiliano Corsini 2005-12-16 10:53:39 +00:00
parent 4dc5c85023
commit 8acb41e2a6
1 changed files with 28 additions and 19 deletions

View File

@ -24,6 +24,9 @@
History History
$Log: not supported by cvs2svn $ $Log: not supported by cvs2svn $
Revision 1.20 2005/12/16 10:51:43 corsini
Take account for deletion in isRegularMesh
Revision 1.19 2005/12/15 13:53:13 corsini Revision 1.19 2005/12/15 13:53:13 corsini
Reimplement isComplexManifold Reimplement isComplexManifold
Reimplement isRegular Reimplement isRegular
@ -274,12 +277,15 @@ namespace vcg {
assert(m.HasFFTopology()); assert(m.HasFFTopology());
for (fi = m.face.begin(); fi != m.face.end(); ++fi) for (fi = m.face.begin(); fi != m.face.end(); ++fi)
{ {
if ((!IsManifold(*fi,0))|| if (!fi->IsD())
(!IsManifold(*fi,1))||
(!IsManifold(*fi,2)))
{ {
flagManifold = false; if ((!IsManifold(*fi,0))||
break; (!IsManifold(*fi,1))||
(!IsManifold(*fi,2)))
{
flagManifold = false;
break;
}
} }
} }
@ -293,22 +299,25 @@ namespace vcg {
int starSizeVF; int starSizeVF;
for (vi = m.vert.begin(); vi != m.vert.end(); ++vi) for (vi = m.vert.begin(); vi != m.vert.end(); ++vi)
{ {
face::VFIterator<FaceType> vfi(&*vi); if (!vi->IsD())
face::Pos<FaceType> pos((*vi).VFp(), &*vi);
starSizeFF = pos.StarSize();
starSizeVF = 0;
while(!vfi.End())
{ {
++vfi; face::VFIterator<FaceType> vfi(&*vi);
starSizeVF++; face::Pos<FaceType> pos((*vi).VFp(), &*vi);
}
if (starSizeFF != starSizeVF) starSizeFF = pos.StarSize();
{
flagManifold = false; starSizeVF = 0;
break; while(!vfi.End())
{
++vfi;
starSizeVF++;
}
if (starSizeFF != starSizeVF)
{
flagManifold = false;
break;
}
} }
} }
} }