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:
@@ -465,16 +465,20 @@ 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);
|
||||||
|
|
||||||
// mark edge deleted if the mesh has a edge status
|
// If there is no face, we delete the edge
|
||||||
if ( has_edge_status() )
|
// here
|
||||||
status(_eh).set_deleted(true);
|
if ( ! fh0.is_valid() && !fh1.is_valid()) {
|
||||||
|
// mark edge deleted if the mesh has a edge status
|
||||||
|
if ( has_edge_status() )
|
||||||
|
status(_eh).set_deleted(true);
|
||||||
|
|
||||||
// mark corresponding halfedges as deleted
|
// mark corresponding halfedges as deleted
|
||||||
// As the deleted edge is boundary,
|
// As the deleted edge is boundary,
|
||||||
// all corresponding halfedges will also be deleted.
|
// all corresponding halfedges will also be deleted.
|
||||||
if ( has_halfedge_status() ) {
|
if ( has_halfedge_status() ) {
|
||||||
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user