From 7e8fd1e6fc19e5fd70f47d0a752e44bfde4e7b40 Mon Sep 17 00:00:00 2001 From: Hans-Christian Ebke Date: Wed, 7 Aug 2013 09:19:16 +0000 Subject: [PATCH] Added a whole bunch of assertions to PolyConnectivity. git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@893 fdac6126-5c0c-442c-9429-916003d36597 --- src/OpenMesh/Core/Mesh/PolyConnectivity.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/OpenMesh/Core/Mesh/PolyConnectivity.cc b/src/OpenMesh/Core/Mesh/PolyConnectivity.cc index c46bced0..b10fa9ca 100644 --- a/src/OpenMesh/Core/Mesh/PolyConnectivity.cc +++ b/src/OpenMesh/Core/Mesh/PolyConnectivity.cc @@ -191,6 +191,13 @@ PolyConnectivity::add_face(const VertexHandle* _vertex_handles, size_t _vhs_size patch_start = next_halfedge_handle(inner_prev); patch_end = prev_halfedge_handle(inner_next); + assert(boundary_prev.is_valid()); + assert(patch_start.is_valid()); + assert(patch_end.is_valid()); + assert(boundary_next.is_valid()); + assert(inner_prev.is_valid()); + assert(inner_next.is_valid()); + // relink next_cache_[next_cache_count_++] = std::make_pair(boundary_prev, patch_start); next_cache_[next_cache_count_++] = std::make_pair(patch_end, boundary_next); @@ -215,6 +222,8 @@ PolyConnectivity::add_face(const VertexHandle* _vertex_handles, size_t _vhs_size inner_prev = edgeData_[i].halfedge_handle; inner_next = edgeData_[ii].halfedge_handle; + assert(inner_prev.is_valid()); + assert(inner_next.is_valid()); id = 0; if (edgeData_[i].is_new) id |= 1; @@ -225,18 +234,22 @@ PolyConnectivity::add_face(const VertexHandle* _vertex_handles, size_t _vhs_size { outer_prev = opposite_halfedge_handle(inner_next); outer_next = opposite_halfedge_handle(inner_prev); + assert(outer_prev.is_valid()); + assert(outer_next.is_valid()); // set outer links switch (id) { case 1: // prev is new, next is old boundary_prev = prev_halfedge_handle(inner_next); + assert(boundary_prev.is_valid()); next_cache_[next_cache_count_++] = std::make_pair(boundary_prev, outer_next); set_halfedge_handle(vh, outer_next); break; case 2: // next is new, prev is old boundary_next = next_halfedge_handle(inner_prev); + assert(boundary_next.is_valid()); next_cache_[next_cache_count_++] = std::make_pair(outer_prev, boundary_next); set_halfedge_handle(vh, boundary_next); break; @@ -251,6 +264,8 @@ PolyConnectivity::add_face(const VertexHandle* _vertex_handles, size_t _vhs_size { boundary_next = halfedge_handle(vh); boundary_prev = prev_halfedge_handle(boundary_next); + assert(boundary_prev.is_valid()); + assert(boundary_next.is_valid()); next_cache_[next_cache_count_++] = std::make_pair(boundary_prev, outer_next); next_cache_[next_cache_count_++] = std::make_pair(outer_prev, boundary_next); }