[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30767] trunk/blender/source/blender: Curve shape keys:

Sergey Sharybin g.ulairi at gmail.com
Mon Jul 26 21:07:33 CEST 2010


Revision: 30767
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30767
Author:   nazgul
Date:     2010-07-26 21:07:33 +0200 (Mon, 26 Jul 2010)

Log Message:
-----------
Curve shape keys:

- Fixed incorrect working of "from mix" insert keyblock operator property
  shapekey coordinated are applying on curve's data when creating displist,
  so curve's nurbs can't be used as unchanged data -- use basis keyblock data instead

- Fixed tilt damaging when loading editcurve -- made a typo in array indexes

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/editors/curve/editcurve.c

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c	2010-07-26 19:00:15 UTC (rev 30766)
+++ trunk/blender/source/blender/blenkernel/intern/object.c	2010-07-26 19:07:33 UTC (rev 30767)
@@ -2955,7 +2955,11 @@
 	if(newkey || from_mix==FALSE) {
 		/* create from curve */
 		kb= add_keyblock(key, name);
-		curve_to_key(cu, kb, lb);
+		if (!newkey) {
+			KeyBlock *basekb= (KeyBlock *)key->block.first;
+			kb->data= MEM_dupallocN(basekb->data);
+			kb->totelem= basekb->totelem;
+		} else curve_to_key(cu, kb, lb);
 	}
 	else {
 		/* copy from current values */

Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c	2010-07-26 19:00:15 UTC (rev 30766)
+++ trunk/blender/source/blender/editors/curve/editcurve.c	2010-07-26 19:07:33 UTC (rev 30767)
@@ -884,7 +884,7 @@
 
 										fp+= 3; curofp+= 3;
 									}
-									fp[0]= ofp[0];
+									fp[0]= curofp[0];
 
 									if(apply_offset) {
 										/* apply alfa offsets */
@@ -914,7 +914,7 @@
 								if (index >= 0) {
 									curofp= ofp + index;
 									VECCOPY(fp, curofp);
-									fp[3]= curofp[4];
+									fp[3]= curofp[3];
 
 									if(apply_offset) {
 										VECADD(fp, fp, ofs[i]);





More information about the Bf-blender-cvs mailing list