[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46148] trunk/blender/source/blender/ blenkernel/intern/cdderivedmesh.c: Fox #31185: Cannot sculpt shape keys

Sergey Sharybin sergey.vfx at gmail.com
Tue May 1 14:14:46 CEST 2012


Revision: 46148
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46148
Author:   nazgul
Date:     2012-05-01 12:14:44 +0000 (Tue, 01 May 2012)
Log Message:
-----------
Fox #31185: Cannot sculpt shape keys

Was related on sculpting on locked keys. Issue was caused by building
PBVH from base mesh which is now doesn't have shape key loaded into
it as it was in 2.62.

Fixed by loading coordinates from deformed mesh into PBVH like it
happens for on-locked shape keys.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c

Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2012-05-01 11:25:28 UTC (rev 46147)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2012-05-01 12:14:44 UTC (rev 46148)
@@ -267,6 +267,8 @@
 	if (!cddm->pbvh && ob->type == OB_MESH) {
 		SculptSession *ss= ob->sculpt;
 		Mesh *me= ob->data;
+		int deformed = 0;
+
 		cddm->pbvh = BLI_pbvh_new();
 		cddm->pbvh_draw = can_pbvh_draw(ob, dm);
 
@@ -275,7 +277,9 @@
 		BLI_pbvh_build_mesh(cddm->pbvh, me->mface, me->mvert,
 		                    me->totface, me->totvert);
 
-		if (ss->modifiers_active && ob->derivedDeform) {
+		deformed = ss->modifiers_active || me->key;
+
+		if (deformed && ob->derivedDeform) {
 			DerivedMesh *deformdm= ob->derivedDeform;
 			float (*vertCos)[3];
 			int totvert;




More information about the Bf-blender-cvs mailing list