From b50b9a7d8bd85b6868f6c0bc0bb29776e02a0e9e Mon Sep 17 00:00:00 2001 From: cignoni Date: Mon, 27 Nov 2006 10:36:35 +0000 Subject: [PATCH] Added IsSizeConsistent --- vcg/complex/trimesh/clean.h | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/vcg/complex/trimesh/clean.h b/vcg/complex/trimesh/clean.h index 94d5a1a5..b6f456b7 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.43 2006/11/09 17:26:24 cignoni +Corrected RemoveNonManifoldFace + Revision 1.42 2006/10/15 07:31:22 cignoni typenames and qualifiers for gcc compliance @@ -1001,7 +1004,24 @@ private: return (ret.size()>0); } - + /** + This function simply test that the vn and fn counters be consistent with the size of the containers and the number of deleted simplexes. + */ + static bool IsSizeConsistent(MeshType &m) + { + int DeletedVertexNum=0; + for (VertexIterator vi = m.vert.begin(); vi != m.vert.end(); ++vi) + if((*vi).IsD()) DeletedVertexNum++; + + int DeletedFaceNum=0; + for (FaceIterator fi = m.face.begin(); fi != m.face.end(); ++fi) + if((*fi).IsD()) DeletedFaceNum++; + + if(m.vn+DeletedVertexNum != m.vert.size()) return false; + if(m.fn+DeletedFaceNum != m.face.size()) return false; + + return true; + } //test real intersection between faces static bool TestIntersection(FaceType *f0,FaceType *f1) {