Added a whole bunch of assertions to PolyConnectivity.
git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@893 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
@@ -191,6 +191,13 @@ PolyConnectivity::add_face(const VertexHandle* _vertex_handles, size_t _vhs_size
|
|||||||
patch_start = next_halfedge_handle(inner_prev);
|
patch_start = next_halfedge_handle(inner_prev);
|
||||||
patch_end = prev_halfedge_handle(inner_next);
|
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
|
// relink
|
||||||
next_cache_[next_cache_count_++] = std::make_pair(boundary_prev, patch_start);
|
next_cache_[next_cache_count_++] = std::make_pair(boundary_prev, patch_start);
|
||||||
next_cache_[next_cache_count_++] = std::make_pair(patch_end, boundary_next);
|
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_prev = edgeData_[i].halfedge_handle;
|
||||||
inner_next = edgeData_[ii].halfedge_handle;
|
inner_next = edgeData_[ii].halfedge_handle;
|
||||||
|
assert(inner_prev.is_valid());
|
||||||
|
assert(inner_next.is_valid());
|
||||||
|
|
||||||
id = 0;
|
id = 0;
|
||||||
if (edgeData_[i].is_new) id |= 1;
|
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_prev = opposite_halfedge_handle(inner_next);
|
||||||
outer_next = opposite_halfedge_handle(inner_prev);
|
outer_next = opposite_halfedge_handle(inner_prev);
|
||||||
|
assert(outer_prev.is_valid());
|
||||||
|
assert(outer_next.is_valid());
|
||||||
|
|
||||||
// set outer links
|
// set outer links
|
||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
case 1: // prev is new, next is old
|
case 1: // prev is new, next is old
|
||||||
boundary_prev = prev_halfedge_handle(inner_next);
|
boundary_prev = prev_halfedge_handle(inner_next);
|
||||||
|
assert(boundary_prev.is_valid());
|
||||||
next_cache_[next_cache_count_++] = std::make_pair(boundary_prev, outer_next);
|
next_cache_[next_cache_count_++] = std::make_pair(boundary_prev, outer_next);
|
||||||
set_halfedge_handle(vh, outer_next);
|
set_halfedge_handle(vh, outer_next);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: // next is new, prev is old
|
case 2: // next is new, prev is old
|
||||||
boundary_next = next_halfedge_handle(inner_prev);
|
boundary_next = next_halfedge_handle(inner_prev);
|
||||||
|
assert(boundary_next.is_valid());
|
||||||
next_cache_[next_cache_count_++] = std::make_pair(outer_prev, boundary_next);
|
next_cache_[next_cache_count_++] = std::make_pair(outer_prev, boundary_next);
|
||||||
set_halfedge_handle(vh, boundary_next);
|
set_halfedge_handle(vh, boundary_next);
|
||||||
break;
|
break;
|
||||||
@@ -251,6 +264,8 @@ PolyConnectivity::add_face(const VertexHandle* _vertex_handles, size_t _vhs_size
|
|||||||
{
|
{
|
||||||
boundary_next = halfedge_handle(vh);
|
boundary_next = halfedge_handle(vh);
|
||||||
boundary_prev = prev_halfedge_handle(boundary_next);
|
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(boundary_prev, outer_next);
|
||||||
next_cache_[next_cache_count_++] = std::make_pair(outer_prev, boundary_next);
|
next_cache_[next_cache_count_++] = std::make_pair(outer_prev, boundary_next);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user