[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44442] trunk/blender/source/blender/bmesh /intern/bmesh_mods.c: fix [#30352] Dissolving a vert in an edgeloop ( no faces) just deletes the verts killing connections
Campbell Barton
ideasman42 at gmail.com
Sun Feb 26 00:29:16 CET 2012
Revision: 44442
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44442
Author: campbellbarton
Date: 2012-02-25 23:29:12 +0000 (Sat, 25 Feb 2012)
Log Message:
-----------
fix [#30352] Dissolving a vert in an edgeloop (no faces) just deletes the verts killing connections
collapse the vertex into an edge when it has 2 edges connected to it.
Modified Paths:
--------------
trunk/blender/source/blender/bmesh/intern/bmesh_mods.c
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_mods.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_mods.c 2012-02-25 22:23:40 UTC (rev 44441)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_mods.c 2012-02-25 23:29:12 UTC (rev 44442)
@@ -82,8 +82,15 @@
if (!BM_vert_is_manifold(bm, v)) {
if (!v->e) BM_vert_kill(bm, v);
else if (!v->e->l) {
- BM_edge_kill(bm, v->e);
- BM_vert_kill(bm, v);
+ if (len == 2) {
+ BM_vert_collapse_edge(bm, v->e, v);
+ }
+ else {
+ /* this may be too harsh, we could do nothing here instead.
+ * To test, connect 3 edges to a vert and dissolve the vert. It will be removed */
+ BM_edge_kill(bm, v->e);
+ BM_vert_kill(bm, v);
+ }
}
else {
return FALSE;
More information about the Bf-blender-cvs
mailing list