73 return -t * ( t - 2 );
83 if( t < 1 )
return 0.5f * t *
t;
86 return -0.5f * ((
t)*(t-2) - 1);
131 return 0.5f*(t*t*t + 2);
163 return -(t*t*t*t - 1);
173 if( t < 1 )
return 0.5f*t*t*t*
t;
176 return -0.5f * (t*t*t*t - 2);
209 return t*t*t*t*t + 1;
219 if( t < 1 )
return 0.5f*t*t*t*t*
t;
222 return 0.5f*(t*t*t*t*t + 2);
303 if( t == 0 )
return 0;
304 if( t == 1 )
return 1;
375 inline float easeOutBounceHelper_(
float t,
float c,
float a )
377 if( t == 1 )
return c;
378 if( t < (4/11.0
f) ) {
379 return c*( 7.5625f*t*
t);
381 else if( t < (8/11.0
f) ) {
383 return -a * (1 - (7.5625f*t*t + 0.75f)) +
c;
385 else if( t < (10/11.0
f) ) {
387 return -a * (1 - (7.5625f*t*t + 0.9375f)) +
c;
391 return -a * (1 - (7.5625f*t*t + 0.984375f)) +
c;
399 return 1 - easeOutBounceHelper_( 1-t, 1, a );
412 return easeOutBounceHelper_( t, 1, a );
426 else return ( t == 1 ) ? 1 :
easeOutBounce( 2*t - 1, a )/2 + 0.5f;
439 if( t < 0.5
f )
return easeOutBounceHelper_( t*2, 0.5, a );
440 return 1 - easeOutBounceHelper_( 2 - 2*t, 0.5, a );
457 return t * t * ((
s+1)*t -
s);
471 return (t*t*((
s+1)*t +
s) + 1);
487 return 0.5f*(t*t*((
s+1)*t -
s));
492 return 0.5f*(t*t*((
s+1)*t+
s) + 2);
522 inline float easeInElasticHelper_(
float t,
float b,
float c,
float d,
float a,
float p )
524 if( t == 0 )
return b;
526 if( t_adj == 1 )
return b+
c;
541 inline float easeOutElasticHelper_(
float t,
float ,
float c,
float ,
float a,
float p )
543 if( t == 0 )
return 0;
544 if( t == 1)
return c;
562 return easeInElasticHelper_( t, 0, 1, 1, amplitude, period );
575 return easeOutElasticHelper_( t, 0, 1, 1, amplitude, period );
588 if( t == 0 )
return 0;
590 if( t == 2 )
return 1;
593 if( amplitude < 1 ) {
615 if (t < 0.5)
return easeOutElasticHelper_(t*2, 0, 0.5, 1.0, amplitude, period );
616 return easeInElasticHelper_(2*t - 1, 0.5
f, 0.5
f, 1, amplitude, period );
Easing equation for a circular (sqrt(1-t^2)) ease-out, decelerating from zero velocity. Functor edition.
Definition: Easing.h:343
float mA
Definition: Easing.h:433
Easing equation for an atan ease-in, accelerating from zero velocity. Functor edition. Used by permssion from Chris McKenzie.
Definition: Easing.h:637
float easeOutCirc(float t)
Easing equation for a circular (sqrt(1-t^2)) ease-out, decelerating from zero velocity.
Definition: Easing.h:336
static T sqrt(T x)
Definition: CinderMath.h:63
float mInvM
Definition: Easing.h:640
Easing equation for a circular (sqrt(1-t^2)) ease-in/out, accelerating until halfway, then decelerating. Functor edition.
Definition: Easing.h:359
float operator()(float t) const
Definition: Easing.h:333
float operator()(float t) const
Definition: Easing.h:369
Easing equation for an atan ease-in/out, accelerating until halfway, then decelerating. Functor edition. Used by permssion from Chris McKenzie.
Definition: Easing.h:665
Easing equation for a sinusoidal (sin(t)) easing out, decelerating from zero velocity. Functor edition.
Definition: Easing.h:258
Definition: CinderMath.h:40
Easing equation for an elastic (exponentially decaying sine wave) ease-in/out, accelerating until hal...
Definition: Easing.h:606
static T cos(T x)
Definition: CinderMath.h:46
float operator()(float t)
Definition: Easing.h:418
float operator()(float t) const
Definition: Easing.h:359
float mA
Definition: Easing.h:654
float operator()(float t) const
Definition: Easing.h:311
float easeInQuad(float t)
Easing equation for a quadratic (t^2) ease-in, accelerating from zero velocity.
Definition: Easing.h:62
Easing equation for a quartic (t^4) ease-in/out, accelerating until halfway, then decelerating...
Definition: Easing.h:181
float mP
Definition: Easing.h:609
EaseInOutBack(float s=1.70158f)
Definition: Easing.h:498
float easeInAtan(float t, float a=15)
Easing equation for an atan ease-in, accelerating from zero velocity. Used by permssion from Chris Mc...
Definition: Easing.h:630
float mA
Definition: Easing.h:609
float easeInOutQuint(float t)
Easing equation for a quintic (t^5) ease-in/out, accelerating until halfway, then decelerating...
Definition: Easing.h:216
static T asin(T x)
Definition: CinderMath.h:43
float easeOutBounce(float t, float a=1.70158f)
Easing equation for a bounce (exponentially decaying parabolic bounce) ease-out, decelerating from ze...
Definition: Easing.h:410
float operator()(float t) const
Definition: Easing.h:191
float easeInOutElastic(float t, float amplitude, float period)
Easing equation for an elastic (exponentially decaying sine wave) ease-in/out, accelerating until hal...
Definition: Easing.h:586
static T sin(T x)
Definition: CinderMath.h:47
float easeInOutCirc(float t)
Easing equation for a circular (sqrt(1-t^2)) ease-in/out, accelerating until halfway, then decelerating.
Definition: Easing.h:346
Easing equation for a bounce (exponentially decaying parabolic bounce) ease-out/in, decelerating until halfway, then accelerating. Functor edition. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:444
float operator()(float t)
Definition: Easing.h:405
Easing equation function for a quintic (t^5) ease-in, accelerating from zero velocity. Functor edition.
Definition: Easing.h:203
Easing equation for a sinusoidal (sin(t)) ease-in, accelerating from zero velocity. Functor edition.
Definition: Easing.h:249
float operator()(float t) const
Definition: Easing.h:181
float easeInBounce(float t, float a=1.70158f)
Easing equation for a bounce (exponentially decaying parabolic bounce) ease-in, accelerating from zer...
Definition: Easing.h:397
EaseInAtan(float a=15)
Definition: Easing.h:638
float easeOutInBack(float t, float s)
Easing equation for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) ease-out/in, decelerating until halfway, then accelerating. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:504
float easeOutInBounce(float t, float a=1.70158f)
Easing equation for a bounce (exponentially decaying parabolic bounce) ease-out/in, decelerating until halfway, then accelerating. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:437
float operator()(float t) const
Definition: Easing.h:157
EaseInOutBounce(float a=1.70158f)
Definition: Easing.h:431
EaseOutBack(float s=1.70158f)
Definition: Easing.h:476
Easing equation for an elastic (exponentially decaying sine wave) ease-in, accelerating from zero vel...
Definition: Easing.h:566
float easeOutInExpo(float t)
Easing equation for an exponential (2^t) ease-out/in, decelerating until halfway, then accelerating...
Definition: Easing.h:314
EaseInBounce(float a=1.70158f)
Definition: Easing.h:404
float easeOutQuart(float t)
Easing equation for a quartic (t^4) ease-out, decelerating to zero velocity.
Definition: Easing.h:160
float operator()(float t) const
Definition: Easing.h:203
float operator()(float t) const
Definition: Easing.h:289
static T pow(T x, T y)
Definition: CinderMath.h:62
float easeOutInQuint(float t)
Easing equation for a quintic (t^5) ease-out/in, decelerating until halfway, then accelerating...
Definition: Easing.h:230
Easing equation for a bounce (exponentially decaying parabolic bounce) ease-out, decelerating from ze...
Definition: Easing.h:416
float operator()(float t) const
Definition: Easing.h:267
float operator()(float t) const
Definition: Easing.h:90
float operator()(float t)
Definition: Easing.h:432
float easeOutAtan(float t, float a=15)
Easing equation for an atan ease-out, decelerating from zero velocity. Used by permssion from Chris M...
Definition: Easing.h:644
float easeOutInCubic(float t)
Easing equation for a cubic (t^3) ease-out/in, decelerating until halfway, then accelerating.
Definition: Easing.h:138
Easing equation for a cubic (t^3) ease-out, decelerating to zero velocity. Functor edition...
Definition: Easing.h:122
Easing equation for a bounce (exponentially decaying parabolic bounce) ease-in/out, accelerating until halfway, then decelerating. Functor edition. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:430
Easing equation for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) ease-out/in, decelerating until halfway, then accelerating. Functor edition. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:511
float operator()(float t) const
Definition: Easing.h:135
float operator()(float t)
Definition: Easing.h:446
float easeInOutExpo(float t)
Easing equation for an exponential (2^t) ease-in/out, accelerating until halfway, then decelerating...
Definition: Easing.h:301
Easing equation for a quartic (t^4) ease-out, decelerating to zero velocity. Functor edition;...
Definition: Easing.h:167
float operator()(float t) const
Definition: Easing.h:68
EaseOutBounce(float a=1.70158f)
Definition: Easing.h:417
Easing equation for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) ease-in/out, accelerating until halfway, then decelerating. Functor edition. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:497
float operator()(float t)
Definition: Easing.h:581
Easing equation for a quintic (t^5) ease-out/in, decelerating until halfway, then accelerating...
Definition: Easing.h:237
Easing equation for an exponential (2^t) ease-out, decelerating from zero velocity. Functor edition.
Definition: Easing.h:298
float easeOutInQuart(float t)
Easing equation for a quartic (t^4) ease-out/in, decelerating until halfway, then accelerating...
Definition: Easing.h:184
float mA
Definition: Easing.h:419
float easeInOutCubic(float t)
Easing equation for a cubic (t^3) ease-in/out, accelerating until halfway, then decelerating.
Definition: Easing.h:125
float operator()(float t) const
Definition: Easing.h:258
EaseOutElastic(float amplitude, float period)
Definition: Easing.h:580
Easing equation for an exponential (2^t) ease-in/out, accelerating until halfway, then decelerating...
Definition: Easing.h:311
Easing equation for a quadratic (t^2) ease-in, accelerating from zero velocity. Functor edition...
Definition: Easing.h:68
float operator()(float t)
Definition: Easing.h:608
Easing equation for an atan ease-out, decelerating from zero velocity. Functor edition. Used by permssion from Chris McKenzie.
Definition: Easing.h:651
float mS
Definition: Easing.h:464
float easeOutCubic(float t)
Easing equation for a cubic (t^3) ease-out, decelerating to zero velocity.
Definition: Easing.h:115
float easeOutQuad(float t)
Easing equation for a quadratic (t^2) ease-out, decelerating to zero velocity.
Definition: Easing.h:71
float operator()(float t) const
Definition: Easing.h:213
float mA
Definition: Easing.h:582
float mP
Definition: Easing.h:623
float operator()(float t) const
Definition: Easing.h:77
float easeInCirc(float t)
Easing equation for a circular (sqrt(1-t^2)) ease-in, accelerating from zero velocity.
Definition: Easing.h:327
Easing equation for an elastic (exponentially decaying sine wave) ease-out, decelerating from zero ve...
Definition: Easing.h:579
float operator()(float t) const
Definition: Easing.h:55
float easeInQuint(float t)
Easing equation function for a quintic (t^5) ease-in, accelerating from zero velocity.
Definition: Easing.h:197
float easeOutExpo(float t)
Easing equation for an exponential (2^t) ease-out, decelerating from zero velocity.
Definition: Easing.h:292
float easeInOutQuad(float t)
Easing equation for a quadratic (t^2) ease-in/out, accelerating until halfway, then decelerating...
Definition: Easing.h:80
float operator()(float t)
Definition: Easing.h:513
float easeInCubic(float t)
Easing equation function for a cubic (t^3) ease-in, accelerating from zero velocity.
Definition: Easing.h:106
Easing equation for an exponential (2^t) ease-out/in, decelerating until halfway, then accelerating...
Definition: Easing.h:321
float operator()(float t) const
Definition: Easing.h:145
float mA
Definition: Easing.h:668
float operator()(float t)
Definition: Easing.h:463
Easing equation function for a quintic (t^5) ease-in, accelerating from zero velocity. Functor edition.
Definition: Easing.h:213
float easeInExpo(float t)
Easing equation for an exponential (2^t) ease-in, accelerating from zero velocity.
Definition: Easing.h:283
Easing equation for an exponential (2^t) ease-in, accelerating from zero velocity. Functor edition.
Definition: Easing.h:289
Easing equation for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) ease-out, decelerating from zero velocity. Functor edition. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:475
Easing equation for a quadratic (t^2) ease-in/out, accelerating until halfway, then decelerating...
Definition: Easing.h:90
float easeInOutSine(float t)
Easing equation for a sinusoidal (sin(t)) ease-in/out, accelerating until halfway, then decelerating.
Definition: Easing.h:261
Easing equation for a simple linear tweening with no easing. Functor edition.
Definition: Easing.h:55
float easeInOutAtan(float t, float a=15)
Easing equation for an atan ease-in/out, accelerating until halfway, then decelerating. Used by permssion from Chris McKenzie.
Definition: Easing.h:658
float operator()(float t) const
Definition: Easing.h:122
float mA
Definition: Easing.h:569
Easing equation for a cubic (t^3) ease-in/out, accelerating until halfway, then decelerating. Functor edition.
Definition: Easing.h:135
EaseOutInElastic(float amplitude, float period)
Definition: Easing.h:621
float easeNone(float t)
Easing equation for a simple linear tweening with no easing.
Definition: Easing.h:49
float easeInElastic(float t, float amplitude, float period)
Easing equation for an elastic (exponentially decaying sine wave) ease-in, accelerating from zero vel...
Definition: Easing.h:560
float operator()(float t)
Definition: Easing.h:499
float mA
Definition: Easing.h:447
float easeOutQuint(float t)
Easing equation for a quintic (t^5) ease-out, decelerating to zero velocity.
Definition: Easing.h:206
GLboolean GLboolean GLboolean b
Definition: GLee.h:2964
float mA
Definition: Easing.h:623
float easeInOutBack(float t, float s=1.70158f)
Easing equation for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) ease-in/out, accelerating until halfway, then decelerating. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:482
Easing equation for a circular (sqrt(1-t^2)) ease-in, accelerating from zero velocity. Functor edition.
Definition: Easing.h:333
EaseOutInBounce(float a=1.70158f)
Definition: Easing.h:445
float operator()(float t) const
Definition: Easing.h:653
float operator()(float t)
Definition: Easing.h:568
EaseInElastic(float amplitude, float period)
Definition: Easing.h:567
float easeInQuart(float t)
Easing equation for a quartic (t^4) ease-in, accelerating from zero velocity.
Definition: Easing.h:151
float operator()(float t) const
Definition: Easing.h:321
Easing equation for a quintic (t^5) ease-in/out, accelerating until halfway, then decelerating...
Definition: Easing.h:227
GLfloat GLfloat p
Definition: GLee.h:8473
float mS
Definition: Easing.h:500
const GLubyte * c
Definition: GLee.h:8491
Easing equation for a cubic (t^3) ease-out/in, decelerating until halfway, then accelerating. Functor edition.
Definition: Easing.h:145
#define M_PI
Definition: CinderMath.h:121
float easeOutInSine(float t)
Easing equation for a sinusoidal (sin(t)) ease-out/in, decelerating until halfway, then accelerating.
Definition: Easing.h:270
float mInvM
Definition: Easing.h:654
float easeInBack(float t, float s=1.70158f)
Easing equation for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) ease-in, accelerating from zero velocity. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:455
Easing equation for a quadratic (t^2) ease-out/in, decelerating until halfway, then accelerating...
Definition: Easing.h:100
float easeOutSine(float t)
Easing equation for a sinusoidal (sin(t)) ease-out, decelerating from zero velocity.
Definition: Easing.h:252
EaseOutAtan(float a=15)
Definition: Easing.h:652
Easing equation function for a cubic (t^3) ease-in, accelerating from zero velocity. Functor edition.
Definition: Easing.h:112
EaseInOutAtan(float a=15)
Definition: Easing.h:666
Easing equation for an elastic (exponentially decaying sine wave) ease-out/in, decelerating until hal...
Definition: Easing.h:620
float operator()(float t) const
Definition: Easing.h:237
Easing equation for a sinusoidal (sin(t)) ease-out/in, decelerating until halfway, then accelerating. Functor edition.
Definition: Easing.h:277
GLboolean GLboolean GLboolean GLboolean a
Definition: GLee.h:2964
static T atan(T x)
Definition: CinderMath.h:44
Easing equation for a quartic (t^4) ease-out/in, decelerating until halfway, then accelerating...
Definition: Easing.h:191
float operator()(float t) const
Definition: Easing.h:343
float easeInOutQuart(float t)
Easing equation for a quartic (t^4) ease-in/out, accelerating until halfway, then decelerating...
Definition: Easing.h:170
float operator()(float t) const
Definition: Easing.h:112
EaseInOutElastic(float amplitude, float period)
Definition: Easing.h:607
float mInv2M
Definition: Easing.h:668
Easing equation for a quadratic (t^2) ease-out, decelerating to zero velocity. Functor edition...
Definition: Easing.h:77
Easing equation for a bounce (exponentially decaying parabolic bounce) ease-in, accelerating from zer...
Definition: Easing.h:403
float operator()(float t) const
Definition: Easing.h:100
float easeOutInQuad(float t)
Easing equation for a quadratic (t^2) ease-out/in, decelerating until halfway, then accelerating...
Definition: Easing.h:93
float operator()(float t)
Definition: Easing.h:477
float operator()(float t) const
Definition: Easing.h:639
float operator()(float t) const
Definition: Easing.h:249
float mS
Definition: Easing.h:478
Easing equation for a sinusoidal (sin(t)) ease-in/out, accelerating until halfway, then decelerating. Functor edition.
Definition: Easing.h:267
float operator()(float t) const
Definition: Easing.h:298
float operator()(float t) const
Definition: Easing.h:227
float operator()(float t) const
Definition: Easing.h:277
Easing equation for a circular (sqrt(1-t^2)) ease-out/in, decelerating until halfway, then accelerating. Functor edition.
Definition: Easing.h:369
float easeOutBack(float t, float s=1.70158f)
Easing equation for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) ease-out, decelerating from zero velocity. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:468
const GLfloat * m
Definition: GLee.h:13493
float operator()(float t) const
Definition: Easing.h:167
float mP
Definition: Easing.h:582
GLdouble GLdouble t
Definition: GLee.h:1426
float mA
Definition: Easing.h:640
GLdouble s
Definition: GLee.h:1378
float easeInSine(float t)
Easing equation for a sinusoidal (sin(t)) ease-in, accelerating from zero velocity.
Definition: Easing.h:243
Easing equation for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) ease-in, accelerating from zero velocity. Functor edition. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:461
float easeOutInCirc(float t)
Easing equation for a circular (sqrt(1-t^2)) ease-out/in, decelerating until halfway, then accelerating.
Definition: Easing.h:362
float mS
Definition: Easing.h:514
GLclampf f
Definition: GLee.h:15307
float operator()(float t) const
Definition: Easing.h:667
float operator()(float t)
Definition: Easing.h:622
float easeOutElastic(float t, float amplitude, float period)
Easing equation for an elastic (exponentially decaying sine wave) ease-out, decelerating from zero ve...
Definition: Easing.h:573
EaseOutInBack(float s=1.70158f)
Definition: Easing.h:512
float easeOutInElastic(float t, float amplitude, float period)
Easing equation for an elastic (exponentially decaying sine wave) ease-out/in, decelerating until hal...
Definition: Easing.h:613
Easing equation for a quartic (t^4) ease-in, accelerating from zero velocity. Functor edition...
Definition: Easing.h:157
float mA
Definition: Easing.h:406
float easeInOutBounce(float t, float a=1.70158f)
Easing equation for a bounce (exponentially decaying parabolic bounce) ease-in/out, accelerating until halfway, then decelerating. The a parameter controls overshoot, the default producing a 10% overshoot.
Definition: Easing.h:423
float mP
Definition: Easing.h:569
EaseInBack(float s=1.70158f)
Definition: Easing.h:462