38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
//
|
|
// TweenPath.h
|
|
//
|
|
// This code is derived from Universal Tween Engine
|
|
// Licensed under Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
|
|
/**
|
|
* Base class for every paths. You can create your own paths and directly use
|
|
* them in the Tween engine by inheriting from this class.
|
|
*
|
|
* @author Aurelien Ribon | http://www.aurelienribon.com/
|
|
*/
|
|
|
|
#ifndef __TweenPath__
|
|
#define __TweenPath__
|
|
|
|
namespace TweenEngine
|
|
{
|
|
class TweenPath
|
|
{
|
|
public:
|
|
/**
|
|
* Computes the next value of the interpolation, based on its waypoints and
|
|
* the current progress.
|
|
*
|
|
* @param t The progress of the interpolation, between 0 and 1. May be out
|
|
* of these bounds if the easing equation involves some kind of rebounds.
|
|
* @param points The waypoints of the tween, from start to target values.
|
|
* @param pointsCnt The number of valid points in the array.
|
|
* @return The next value of the interpolation.
|
|
*/
|
|
virtual float compute(float t, float *points, int pointsCnt) = 0;
|
|
};
|
|
}
|
|
|
|
#endif /* defined(__TweenPath__) */
|