[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42354] trunk/blender/source/blender/ editors/animation/keyframing.c: Fix #29073: keyframing integer properties now uses linear interpolation
Brecht Van Lommel
brechtvanlommel at pandora.be
Fri Dec 2 20:49:10 CET 2011
Revision: 42354
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42354
Author: blendix
Date: 2011-12-02 19:49:09 +0000 (Fri, 02 Dec 2011)
Log Message:
-----------
Fix #29073: keyframing integer properties now uses linear interpolation
by default, and enums use constant interpolation. Bezier doesn't make
much sense for these.
Modified Paths:
--------------
trunk/blender/source/blender/editors/animation/keyframing.c
Modified: trunk/blender/source/blender/editors/animation/keyframing.c
===================================================================
--- trunk/blender/source/blender/editors/animation/keyframing.c 2011-12-02 19:46:20 UTC (rev 42353)
+++ trunk/blender/source/blender/editors/animation/keyframing.c 2011-12-02 19:49:09 UTC (rev 42354)
@@ -310,10 +310,17 @@
beztr.vec[1][1]= y;
beztr.vec[2][0]= x+1.0f;
beztr.vec[2][1]= y;
- beztr.ipo= U.ipo_new; /* use default interpolation mode here... */
beztr.f1= beztr.f2= beztr.f3= SELECT;
beztr.h1= beztr.h2= U.keyhandles_new; /* use default handle type here */
//BEZKEYTYPE(&beztr)= scene->keytype; /* default keyframe type */
+
+ /* use default interpolation mode, with exceptions for int/discrete values */
+ beztr.ipo= U.ipo_new;
+
+ if(fcu->flag & FCURVE_DISCRETE_VALUES)
+ beztr.ipo = BEZT_IPO_CONST;
+ else if(beztr.ipo == BEZT_IPO_BEZ && (fcu->flag & FCURVE_INT_VALUES))
+ beztr.ipo = BEZT_IPO_LIN;
/* add temp beztriple to keyframes */
a= insert_bezt_fcurve(fcu, &beztr, flag);
More information about the Bf-blender-cvs
mailing list