[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36194] branches/bmesh/blender/source/ blender: =bmesh= fixed a shapekey issue with undo

Joseph Eagar joeedh at gmail.com
Sun Apr 17 07:08:04 CEST 2011


Revision: 36194
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36194
Author:   joeedh
Date:     2011-04-17 05:08:03 +0000 (Sun, 17 Apr 2011)
Log Message:
-----------
=bmesh= fixed a shapekey issue with undo

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c
    branches/bmesh/blender/source/blender/bmesh/operators/mesh_conv.c
    branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c	2011-04-17 04:12:53 UTC (rev 36193)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c	2011-04-17 05:08:03 UTC (rev 36194)
@@ -574,7 +574,7 @@
 
 	bm = BM_Make_Mesh(ob, allocsize);
 
-	BMO_CallOpf(bm, "mesh_to_bmesh mesh=%p object=%p", me, ob);
+	BMO_CallOpf(bm, "mesh_to_bmesh mesh=%p object=%p set_shapekey=%i", me, ob, 1);
 
 	return bm;
 }

Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2011-04-17 04:12:53 UTC (rev 36193)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2011-04-17 05:08:03 UTC (rev 36194)
@@ -516,6 +516,7 @@
 	"mesh_to_bmesh",
 	{{BMOP_OPSLOT_PNT, "mesh"}, //pointer to a Mesh structure
 	 {BMOP_OPSLOT_PNT, "object"}, //pointer to an Object structure
+	 {BMOP_OPSLOT_INT, "set_shapekey"}, //load active shapekey coordinates into verts
 	 {0, /*null-terminating sentinel*/}},
 	mesh_to_bmesh_exec,
 	0

Modified: branches/bmesh/blender/source/blender/bmesh/operators/mesh_conv.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/mesh_conv.c	2011-04-17 04:12:53 UTC (rev 36193)
+++ branches/bmesh/blender/source/blender/bmesh/operators/mesh_conv.c	2011-04-17 05:08:03 UTC (rev 36194)
@@ -59,6 +59,7 @@
 	BLI_array_declare(fedges);
 	float (*keyco)[3]= NULL;
 	int *keyi;
+	int set_key = BMO_Get_Int(op, "set_shapekey");
 	int i, j, li, allocsize[4] = {512, 512, 2048, 512};
 
 	if (!me || !me->totvert) return; /*sanity check*/
@@ -119,7 +120,7 @@
 	CustomData_bmesh_init_pool(&bm->pdata, allocsize[3]);
 
 	for (i=0; i<me->totvert; i++, mvert++) {
-		v = BM_Make_Vert(bm, keyco ? keyco[i] : mvert->co, NULL);
+		v = BM_Make_Vert(bm, keyco&&set_key ? keyco[i] : mvert->co, NULL);
 		normal_short_to_float_v3(v->no, mvert->no);
 
 		vt[i] = v;

Modified: branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c	2011-04-17 04:12:53 UTC (rev 36193)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c	2011-04-17 05:08:03 UTC (rev 36194)
@@ -602,7 +602,7 @@
 	BMEdit_Free(em);
 
 	bm = BM_Make_Mesh(ob, allocsize);
-	BMO_CallOpf(bm, "mesh_to_bmesh mesh=%p object=%p", me, ob);
+	BMO_CallOpf(bm, "mesh_to_bmesh mesh=%p object=%p set_shapekey=%i", me, ob, 0);
 
 	em2 = BMEdit_Create(bm);
 	*em = *em2;




More information about the Bf-blender-cvs mailing list