From 8acb41e2a6fbf0e619388b5c72ff0624e4c52680 Mon Sep 17 00:00:00 2001 From: maxcorsini Date: Fri, 16 Dec 2005 10:53:39 +0000 Subject: [PATCH] Take account for deletion in isComplexManifold --- vcg/complex/trimesh/clean.h | 47 ++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/vcg/complex/trimesh/clean.h b/vcg/complex/trimesh/clean.h index 919e3e45..73399715 100644 --- a/vcg/complex/trimesh/clean.h +++ b/vcg/complex/trimesh/clean.h @@ -24,6 +24,9 @@ History $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 Reimplement isComplexManifold Reimplement isRegular @@ -274,12 +277,15 @@ namespace vcg { assert(m.HasFFTopology()); for (fi = m.face.begin(); fi != m.face.end(); ++fi) { - if ((!IsManifold(*fi,0))|| - (!IsManifold(*fi,1))|| - (!IsManifold(*fi,2))) + if (!fi->IsD()) { - flagManifold = false; - break; + if ((!IsManifold(*fi,0))|| + (!IsManifold(*fi,1))|| + (!IsManifold(*fi,2))) + { + flagManifold = false; + break; + } } } @@ -293,22 +299,25 @@ namespace vcg { int starSizeVF; for (vi = m.vert.begin(); vi != m.vert.end(); ++vi) { - face::VFIterator vfi(&*vi); - face::Pos pos((*vi).VFp(), &*vi); - - starSizeFF = pos.StarSize(); - - starSizeVF = 0; - while(!vfi.End()) + if (!vi->IsD()) { - ++vfi; - starSizeVF++; - } + face::VFIterator vfi(&*vi); + face::Pos pos((*vi).VFp(), &*vi); - if (starSizeFF != starSizeVF) - { - flagManifold = false; - break; + starSizeFF = pos.StarSize(); + + starSizeVF = 0; + while(!vfi.End()) + { + ++vfi; + starSizeVF++; + } + + if (starSizeFF != starSizeVF) + { + flagManifold = false; + break; + } } } }