From 6e2d5a8548d218de00e7c4a664ad7ffee91e9099 Mon Sep 17 00:00:00 2001 From: Martin Heistermann Date: Fri, 21 Jul 2023 17:25:42 +0200 Subject: [PATCH] MeshChecker: rewrite a check with modern APIs, make error message more verbose. --- src/OpenMesh/Tools/Utils/MeshCheckerT_impl.hh | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/OpenMesh/Tools/Utils/MeshCheckerT_impl.hh b/src/OpenMesh/Tools/Utils/MeshCheckerT_impl.hh index f24d96ec..f723194a 100644 --- a/src/OpenMesh/Tools/Utils/MeshCheckerT_impl.hh +++ b/src/OpenMesh/Tools/Utils/MeshCheckerT_impl.hh @@ -220,22 +220,16 @@ check(unsigned int _targets, std::ostream& _os) typename Mesh::FaceHandle fh; typename Mesh::ConstFaceHalfedgeIter fh_it; - for (; f_it != f_end; ++f_it) - { - if (!is_deleted(*f_it)) - { - fh = *f_it; - - for (fh_it=mesh_.cfh_iter(fh); fh_it.is_valid(); ++fh_it) - { - if (mesh_.face_handle(*fh_it) != fh) - { - _os << "MeshChecker: face " << fh - << ": its halfedge does not reference face\n"; - ok = false; - } + for(const auto fh: mesh_.faces()) { + for(const auto heh: fh.halfedges()) { + if (heh.face() != fh) { + _os << "MeshChecker: face " << fh + << ": its halfedge " << heh << " references a different face: " + << heh.face() + << ".\n"; + ok = false; + } } - } } }