Files
coopgo/node_modules/ol/easing.js
sgauthier 6e64e138e2
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
planning
2024-10-14 09:15:30 +02:00

56 lines
1.3 KiB
JavaScript

/**
* @module ol/easing
*/
/**
* Start slow and speed up.
* @param {number} t Input between 0 and 1.
* @return {number} Output between 0 and 1.
* @api
*/
export function easeIn(t) {
return Math.pow(t, 3);
}
/**
* Start fast and slow down.
* @param {number} t Input between 0 and 1.
* @return {number} Output between 0 and 1.
* @api
*/
export function easeOut(t) {
return 1 - easeIn(1 - t);
}
/**
* Start slow, speed up, and then slow down again.
* @param {number} t Input between 0 and 1.
* @return {number} Output between 0 and 1.
* @api
*/
export function inAndOut(t) {
return 3 * t * t - 2 * t * t * t;
}
/**
* Maintain a constant speed over time.
* @param {number} t Input between 0 and 1.
* @return {number} Output between 0 and 1.
* @api
*/
export function linear(t) {
return t;
}
/**
* Start slow, speed up, and at the very end slow down again. This has the
* same general behavior as {@link module:ol/easing.inAndOut}, but the final
* slowdown is delayed.
* @param {number} t Input between 0 and 1.
* @return {number} Output between 0 and 1.
* @api
*/
export function upAndDown(t) {
if (t < 0.5) {
return inAndOut(2 * t);
}
else {
return 1 - inAndOut(2 * (t - 0.5));
}
}
//# sourceMappingURL=easing.js.map