This commit is contained in:
59
node_modules/ol/src/easing.js
generated
vendored
Normal file
59
node_modules/ol/src/easing.js
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
/**
|
||||
* @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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user