JD2022-TU1/main/extern/Hue/libhuestream/huestream/common/util/HueMath.h

43 lines
No EOL
2 KiB
C++

/*******************************************************************************
Copyright © 2017 Philips Lighting Holding B.V.
All Rights Reserved.
********************************************************************************/
#ifndef LIBHUESTREAM_HUESTREAM_UTIL_HUEMATH_H_
#define LIBHUESTREAM_HUESTREAM_UTIL_HUEMATH_H_
#include <cmath>
//for more info: http://gizma.com/easing/#quad3
//for easing cheatsheet: http://easings.net/nl
namespace HueMath {
inline double pi() { return std::acos(-1); }
double linearTween(double t, double b, double e, double d);
double easeInQuad(double t, double b, double e, double d);
double easeOutQuad(double t, double b, double e, double d);
double easeInOutQuad(double t, double b, double e, double d);
double easeInCubic(double t, double b, double e, double d);
double easeOutCubic(double t, double b, double e, double d);
double easeInOutCubic(double t, double b, double e, double d);
double easeInQuart(double t, double b, double e, double d);
double easeOutQuart(double t, double b, double e, double d);
double easeInOutQuart(double t, double b, double e, double d);
double easeInQuint(double t, double b, double e, double d);
double easeOutQuint(double t, double b, double e, double d);
double easeInOutQuint(double t, double b, double e, double d);
double easeInSine(double t, double b, double e, double d);
double easeOutSine(double t, double b, double e, double d);
double easeInOutSine(double t, double b, double e, double d);
double easeInExpo(double t, double b, double e, double d);
double easeOutExpo(double t, double b, double e, double d);
double easeInOutExpo(double t, double b, double e, double d);
double easeInCirc(double t, double b, double e, double d);
double easeOutCirc(double t, double b, double c, double d);
double easeInOutCirc(double t, double b, double c, double d);
double isAngleBetween(double target, double angle1, double angle2);
double getDiffDegrees(double a, double b);
}
#endif // LIBHUESTREAM_HUESTREAM_UTIL_HUEMATH_H_