[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50190] trunk/blender/source/blender: fix [#32357] Subdivide fails on newly created edge

Campbell Barton ideasman42 at gmail.com
Fri Aug 24 16:54:14 CEST 2012


Revision: 50190
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50190
Author:   campbellbarton
Date:     2012-08-24 14:54:14 +0000 (Fri, 24 Aug 2012)
Log Message:
-----------
fix [#32357] Subdivide fails on newly created edge

problem since bmesh merge, new edges were not selected.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c
    trunk/blender/source/blender/bmesh/operators/bmo_create.c
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2012-08-24 14:11:04 UTC (rev 50189)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2012-08-24 14:54:14 UTC (rev 50190)
@@ -408,6 +408,8 @@
 	"contextual_create",
 	{{BMO_OP_SLOT_ELEMENT_BUF, "geom"}, //input geometry.
 	 {BMO_OP_SLOT_ELEMENT_BUF, "faceout"},     /* newly-made face(s) */
+	/* note, this is for stand-alone edges only, not edges which are apart of newly created faces */
+	 {BMO_OP_SLOT_ELEMENT_BUF, "edgeout"},     /* newly-made edge(s) */
 	 {BMO_OP_SLOT_INT,         "mat_nr"},      /* material to use */
 	 {BMO_OP_SLOT_BOOL,        "use_smooth"},  /* material to use */
 	 {0, /* null-terminating sentinel */}},

Modified: trunk/blender/source/blender/bmesh/operators/bmo_create.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_create.c	2012-08-24 14:11:04 UTC (rev 50189)
+++ trunk/blender/source/blender/bmesh/operators/bmo_create.c	2012-08-24 14:54:14 UTC (rev 50190)
@@ -1415,6 +1415,7 @@
 		/* create edge */
 		e = BM_edge_create(bm, verts[0], verts[1], NULL, TRUE);
 		BMO_elem_flag_enable(bm, e, ELE_OUT);
+		BMO_slot_buffer_from_enabled_flag(bm, op, "edgeout", BM_EDGE, ELE_OUT);
 	}
 	else if (0) { /* nice feature but perhaps it should be a different tool? */
 
@@ -1460,6 +1461,7 @@
 				}
 			}
 		}
+		BMO_slot_buffer_from_enabled_flag(bm, op, "edgeout", BM_EDGE, ELE_OUT);
 		/* done creating edges */
 	}
 	else if (amount > 2) {

Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2012-08-24 14:11:04 UTC (rev 50189)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2012-08-24 14:54:14 UTC (rev 50190)
@@ -1056,6 +1056,7 @@
 	
 	BMO_op_exec(em->bm, &bmop);
 	BMO_slot_buffer_hflag_enable(em->bm, &bmop, "faceout", BM_FACE, BM_ELEM_SELECT, TRUE);
+	BMO_slot_buffer_hflag_enable(em->bm, &bmop, "edgeout", BM_EDGE, BM_ELEM_SELECT, TRUE);
 
 	if (!EDBM_op_finish(em, &bmop, op, TRUE)) {
 		return OPERATOR_CANCELLED;




More information about the Bf-blender-cvs mailing list