[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39786] branches/bmesh/blender/source/ blender/bmesh/intern/bmesh_walkers_impl.c: =bmesh= fixed loop select for wire edges

Joseph Eagar joeedh at gmail.com
Tue Aug 30 04:11:20 CEST 2011


Revision: 39786
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39786
Author:   joeedh
Date:     2011-08-30 02:11:19 +0000 (Tue, 30 Aug 2011)
Log Message:
-----------
=bmesh= fixed loop select for wire edges

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c

Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c	2011-08-30 01:59:33 UTC (rev 39785)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c	2011-08-30 02:11:19 UTC (rev 39786)
@@ -389,9 +389,24 @@
 	
 	rlen = owalk.startrad;
 	l = e->l;
-	if (!l)
+	
+	/*handle wire edge case*/
+	if (!l && val == 2) {
+		e = bmesh_disk_nextedge(e, v);
+		
+		if (!BLI_ghash_haskey(walker->visithash, e)) {
+			BMW_pushstate(walker);
+			lwalk = walker->currentstate;
+			*lwalk = owalk;
+			lwalk->cur = e;
+			lwalk->lastv = v;
+			
+			BLI_ghash_insert(walker->visithash, e, NULL);			
+		}
+		
 		return owalk.cur;
-
+	}
+	
 	if (val == 4 || val == 2 || rlen == 1) {		
 		i = 0;
 		stopi = val / 2;




More information about the Bf-blender-cvs mailing list