[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36185] branches/bmesh/blender/source/ blender: =bmesh= bevel flag fix so recursion works on single edges.

Joseph Eagar joeedh at gmail.com
Sat Apr 16 01:42:43 CEST 2011


Revision: 36185
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36185
Author:   joeedh
Date:     2011-04-15 23:42:43 +0000 (Fri, 15 Apr 2011)
Log Message:
-----------
=bmesh= bevel flag fix so recursion works on single edges.

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c
    branches/bmesh/blender/source/blender/bmesh/operators/bevel.c
    branches/bmesh/blender/source/blender/bmesh/operators/bmesh_dupeops.c
    branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c

Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2011-04-15 12:08:17 UTC (rev 36184)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2011-04-15 23:42:43 UTC (rev 36185)
@@ -533,7 +533,7 @@
 	{BMOP_OPSLOT_ELEMENT_BUF, "skirtout"}, //output skirt geometry, faces and edges
 	{0} /*null-terminating sentinel*/},
 	bmesh_extrude_face_indiv_exec,
-	BMOP_UNTAN_MULTIRES
+	0
 };
 
 /*
@@ -548,7 +548,7 @@
 	{BMOP_OPSLOT_ELEMENT_BUF, "geomout"}, //output geometry
 	{0} /*null-terminating sentinel*/},
 	bmesh_extrude_onlyedge_exec,
-	BMOP_UNTAN_MULTIRES
+	0
 };
 
 /*
@@ -563,7 +563,7 @@
 	{BMOP_OPSLOT_ELEMENT_BUF, "vertout"}, //output vertices
 	{0} /*null-terminating sentinel*/},
 	extrude_vert_indiv_exec,
-	BMOP_UNTAN_MULTIRES
+	0
 };
 
 BMOpDefine def_connectverts = {
@@ -582,7 +582,7 @@
 	{BMOP_OPSLOT_ELEMENT_BUF, "geomout"},
 	{0} /*null-terminating sentinel*/},
 	extrude_edge_context_exec,
-	BMOP_UNTAN_MULTIRES
+	0
 };
 
 BMOpDefine def_dissolvevertsop = {

Modified: branches/bmesh/blender/source/blender/bmesh/operators/bevel.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/bevel.c	2011-04-15 12:08:17 UTC (rev 36184)
+++ branches/bmesh/blender/source/blender/bmesh/operators/bevel.c	2011-04-15 23:42:43 UTC (rev 36185)
@@ -477,8 +477,15 @@
 			if (v1 != v2 && v2 != v3 && v3 != v4) {
 				BMIter liter2;
 				BMLoop *l2;
+				BMEdge *e1, *e2;
 				
 				f = BM_Make_QuadTri(bm, v4, v3, v2, v1, l->f, 1);
+
+				e1 = BM_Edge_Exist(v4, v3);
+				e2 = BM_Edge_Exist(v2, v1);
+				BM_Copy_Attributes(bm, bm, l->e, e1);
+				BM_Copy_Attributes(bm, bm, l->e, e2);
+
 				if (!f) {
 					printf("eek!\n");
 					continue;

Modified: branches/bmesh/blender/source/blender/bmesh/operators/bmesh_dupeops.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/bmesh_dupeops.c	2011-04-15 12:08:17 UTC (rev 36184)
+++ branches/bmesh/blender/source/blender/bmesh/operators/bmesh_dupeops.c	2011-04-15 23:42:43 UTC (rev 36185)
@@ -135,14 +135,15 @@
 	BMO_SetFlag(target_mesh, (BMHeader*)target_face, DUPE_NEW);
 	
 	/*copy per-loop custom data*/
-	for (i=0,source_loop=BMIter_New(&iter, source_mesh, BM_LOOPS_OF_FACE, source_face),
-	  target_loop=BMIter_New(&iter2, target_mesh, BM_LOOPS_OF_FACE, target_face);
-	  source_loop && target_loop; source_loop=BMIter_Step(&iter), target_loop=BMIter_Step(&iter2),
-	  i++) {
-		BM_Copy_Attributes(source_mesh, target_mesh, source_loop, target_loop);		
+	BM_ITER(source_loop, &iter, source_mesh, BM_LOOPS_OF_FACE, source_face) {
+		BM_ITER(target_loop, &iter2, target_mesh, BM_LOOPS_OF_FACE, target_face) {
+			if (BLI_ghash_lookup(vhash, source_loop->v) == target_loop->v) {
+				BM_Copy_Attributes(source_mesh, target_mesh, source_loop, target_loop);
+				break;
+			}
+		}
 	}
 
-
 	return target_face;
 }
 	/*

Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c	2011-04-15 12:08:17 UTC (rev 36184)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c	2011-04-15 23:42:43 UTC (rev 36185)
@@ -4820,8 +4820,8 @@
 			return OPERATOR_CANCELLED;
 		
 		BMO_Exec_Op(em->bm, &bmop);
-		BMO_HeaderFlag_Buffer(em->bm, &bmop, "face_spans", BM_SELECT, BM_FACE);
-		BMO_HeaderFlag_Buffer(em->bm, &bmop, "face_holes", BM_SELECT, BM_FACE);
+		//BMO_HeaderFlag_Buffer(em->bm, &bmop, "face_spans", BM_SELECT, BM_FACE);
+		//BMO_HeaderFlag_Buffer(em->bm, &bmop, "face_holes", BM_SELECT, BM_FACE);
 		BMO_Finish_Op(em->bm, &bmop);
 		
 		fac = fac + (sqrt(fac) - fac)*0.25;




More information about the Bf-blender-cvs mailing list