Only delete edge self, if it is standalone

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@835 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
Jan Möbius
2013-06-05 14:58:43 +00:00
parent 45c5dab747
commit 1f1cffcdf2

View File

@@ -465,6 +465,9 @@ void PolyConnectivity::delete_edge(EdgeHandle _eh, bool _delete_isolated_vertice
if (fh0.is_valid()) delete_face(fh0, _delete_isolated_vertices); if (fh0.is_valid()) delete_face(fh0, _delete_isolated_vertices);
if (fh1.is_valid()) delete_face(fh1, _delete_isolated_vertices); if (fh1.is_valid()) delete_face(fh1, _delete_isolated_vertices);
// If there is no face, we delete the edge
// here
if ( ! fh0.is_valid() && !fh1.is_valid()) {
// mark edge deleted if the mesh has a edge status // mark edge deleted if the mesh has a edge status
if ( has_edge_status() ) if ( has_edge_status() )
status(_eh).set_deleted(true); status(_eh).set_deleted(true);
@@ -476,6 +479,7 @@ void PolyConnectivity::delete_edge(EdgeHandle _eh, bool _delete_isolated_vertice
status(halfedge_handle(_eh, 0)).set_deleted(true); status(halfedge_handle(_eh, 0)).set_deleted(true);
status(halfedge_handle(_eh, 1)).set_deleted(true); status(halfedge_handle(_eh, 1)).set_deleted(true);
} }
}
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------