Unravel Engine C++ Reference
Loading...
Searching...
No Matches
seq_ease.h
Go to the documentation of this file.
1#pragma once
2#include <vector>
3#include <string>
4#include <functional>
5#include <utility>
6
7namespace seq
8{
9namespace ease
10{
11
12float linear(float progress);
13
14float smooth_start(float progress);
15float smooth_stop(float progress);
16float smooth_start_stop(float progress);
17
18float smooth_start2(float progress);
19float smooth_stop2(float progress);
20float smooth_start_stop2(float progress);
21
22float smooth_start3(float progress);
23float smooth_stop3(float progress);
24float smooth_start_stop3(float progress);
25
26float smooth_start4(float progress);
27float smooth_stop4(float progress);
28float smooth_start_stop4(float progress);
29
30float smooth_start5(float progress);
31float smooth_stop5(float progress);
32float smooth_start_stop5(float progress);
33
34float smooth_start6(float progress);
35float smooth_stop6(float progress);
36float smooth_start_stop6(float progress);
37
38float circular_start(float progress);
39float circular_stop(float progress);
40float circular_start_stop(float progress);
41
42float elastic_start(float progress);
43float elastic_stop(float progress);
44float elastic_start_stop(float progress);
45
46float back_start(float progress);
47float back_stop(float progress);
48float back_start_stop(float progress);
49
50float bounce_start(float progress);
51float bounce_stop(float progress);
52float bounce_start_stop(float progress);
53
54float arch(float progress);
55float arch_smooth_step(float progress);
56float arch_smooth_start_stop(float progress);
57float arch_smooth_start(float progress);
58float arch_smooth_stop(float progress);
59
60std::function<float(float)> create_back_stop(float overshoot = 1.70158f);
61std::function<float(float)> create_back_start(float overshoot = 1.70158f);
62std::function<float(float)> create_back_stop_stop(float overshoot = 1.70158f);
63
64const std::vector<std::pair<std::string, std::function<float(float)>>>& get_ease_list();
65
66}
67}
float arch_smooth_start(float progress)
Definition seq_ease.cpp:500
float bounce_start_stop(float progress)
Definition seq_ease.cpp:480
float elastic_start(float progress)
Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1))
Definition seq_ease.cpp:436
float smooth_stop3(float progress)
Modelled after the cubic y = (x - 1)^3 + 1.
Definition seq_ease.cpp:342
float smooth_stop4(float progress)
Modelled after the quartic y = 1 - (x - 1)^4.
Definition seq_ease.cpp:362
float circular_stop(float progress)
Modelled after shifted quadrant II of unit circle.
Definition seq_ease.cpp:422
float arch(float progress)
Definition seq_ease.cpp:485
float smooth_stop2(float progress)
Modelled after the parabola y = -x^2 + 2x.
Definition seq_ease.cpp:322
float smooth_start6(float progress)
Modelled after the exponential function y = 2^(10(x - 1))
Definition seq_ease.cpp:396
float smooth_start2(float progress)
Modelled after the parabola y = x^2.
Definition seq_ease.cpp:316
std::function< float(float)> create_back_stop(float overshoot)
Definition seq_ease.cpp:519
float smooth_start_stop3(float progress)
Definition seq_ease.cpp:350
float circular_start(float progress)
Modelled after shifted quadrant IV of unit circle.
Definition seq_ease.cpp:416
float smooth_stop(float progress)
Modelled after quarter-cycle of sine wave (different phase)
Definition seq_ease.cpp:304
float linear(float progress)
Definition seq_ease.cpp:292
float arch_smooth_step(float progress)
Definition seq_ease.cpp:490
float smooth_start_stop4(float progress)
Definition seq_ease.cpp:370
float smooth_stop5(float progress)
Modelled after the quintic y = (x - 1)^5 + 1.
Definition seq_ease.cpp:382
float smooth_stop6(float progress)
Modelled after the exponential function y = -2^(-10x) + 1.
Definition seq_ease.cpp:402
float elastic_stop(float progress)
Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1.
Definition seq_ease.cpp:442
std::function< float(float)> create_back_start(float overshoot)
Definition seq_ease.cpp:511
float circular_start_stop(float progress)
Definition seq_ease.cpp:430
float smooth_start_stop2(float progress)
Definition seq_ease.cpp:330
float arch_smooth_stop(float progress)
Definition seq_ease.cpp:505
float bounce_stop(float progress)
Definition seq_ease.cpp:475
float back_stop(float progress)
Definition seq_ease.cpp:460
float smooth_start_stop5(float progress)
Definition seq_ease.cpp:390
float smooth_start_stop(float progress)
Modelled after half sine wave.
Definition seq_ease.cpp:310
float arch_smooth_start_stop(float progress)
Definition seq_ease.cpp:495
float smooth_start_stop6(float progress)
Definition seq_ease.cpp:410
float bounce_start(float progress)
Definition seq_ease.cpp:470
std::function< float(float)> create_back_stop_stop(float overshoot)
Definition seq_ease.cpp:527
float smooth_start(float progress)
Modelled after quarter-cycle of sine wave.
Definition seq_ease.cpp:298
float smooth_start3(float progress)
Modelled after the cubic y = x^3.
Definition seq_ease.cpp:336
float smooth_start5(float progress)
Modelled after the quintic y = x^5.
Definition seq_ease.cpp:376
float back_start_stop(float progress)
Definition seq_ease.cpp:465
float back_start(float progress)
Definition seq_ease.cpp:455
float smooth_start4(float progress)
Modelled after the quartic x^4.
Definition seq_ease.cpp:356
const std::vector< std::pair< std::string, std::function< float(float)> > > & get_ease_list()
Definition seq_ease.cpp:535
float elastic_start_stop(float progress)
Definition seq_ease.cpp:450
Provides a sequence-based action management system for controlling and scheduling actions.