Space Plunder
Loading...
Searching...
No Matches
UEasingBPLib Class Reference

#include <EasingBPLib.h>

Inheritance diagram for UEasingBPLib:

Static Public Member Functions

static float EaseInSine (const float Value)
 Easing function that implements the "ease in" sine curve.
 
static float EaseOutSine (const float Value)
 Easing function that implements the "ease out" sine curve.
 
static float EaseInOutSine (const float Value)
 
static float EaseInQuad (const float Value)
 
static float EaseOutQuad (const float Value)
 
static float EaseInOutQuad (const float Value)
 
static float EaseInCubic (const float Value)
 
static float EaseOutCubic (const float Value)
 
static float EaseInOutCubic (const float Value)
 
static float EaseInQuart (const float Value)
 
static float EaseOutQuart (const float Value)
 
static float EaseInOutQuart (const float Value)
 
static float EaseInQuint (const float Value)
 
static float EaseOutQuint (const float Value)
 
static float EaseInOutQuint (const float Value)
 
static float EaseInExpo (const float Value)
 
static float EaseOutExpo (const float Value)
 
static float EaseInOutExpo (const float Value)
 
static float EaseInCirc (const float Value)
 
static float EaseOutCirc (const float Value)
 
static float EaseInOutCirc (const float Value)
 
static float EaseInBack (const float Value)
 
static float EaseOutBack (const float Value)
 
static float EaseInOutBack (const float Value)
 
static float EaseInElastic (const float Value)
 
static float EaseOutElastic (const float Value)
 
static float EaseInOutElastic (const float Value)
 
static float EaseInBounce (const float Value)
 
static float EaseOutBounce (const float Value)
 
static float EaseInOutBounce (const float Value)
 

Member Function Documentation

◆ EaseInBack()

float UEasingBPLib::EaseInBack ( const float Value)
static
156{
157 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
158 return EasingValues::C3 * X * X * X - EasingValues::C1 * X * X;
159}
const float C3
Definition EasingBPLib.cpp:10
const float C1
Definition EasingBPLib.cpp:8

◆ EaseInBounce()

float UEasingBPLib::EaseInBounce ( const float Value)
static
208{
209 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
210 return 1.0f - EaseOutBounce(1.0f - X);
211}
static float EaseOutBounce(const float Value)
Definition EasingBPLib.cpp:213

◆ EaseInCirc()

float UEasingBPLib::EaseInCirc ( const float Value)
static
136{
137 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
138 return 1.0f - FMath::Sqrt(1.0f - FMath::Pow(X, 2));
139}

◆ EaseInCubic()

float UEasingBPLib::EaseInCubic ( const float Value)
static
54{
55 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
56 return X * X * X;
57}

◆ EaseInElastic()

float UEasingBPLib::EaseInElastic ( const float Value)
static
176{
177 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
178 return X == 0.0f
179 ? 0.0f
180 : X == 1.0f
181 ? 1.0f
182 : -FMath::Pow(2.0f, 10.0f * X - 10.0f) * FMath::Sin((X * 10.0f - 10.75f) * EasingValues::C4);
183}
const float C4
Definition EasingBPLib.cpp:11

◆ EaseInExpo()

float UEasingBPLib::EaseInExpo ( const float Value)
static
108{
109 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
110 return X == 0.0f
111 ? 0.0f
112 : FMath::Pow(2.0f, 10.0f * X - 10.0f);
113}

◆ EaseInOutBack()

float UEasingBPLib::EaseInOutBack ( const float Value)
static
168{
169 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
170 return X < 0.5f
171 ? (FMath::Pow(2.0f * X, 2.0f) * ((EasingValues::C2 + 1.0f) * 2.0f * X - EasingValues::C2)) / 2.0f
172 : (FMath::Pow(2.0f * X - 2.0f, 2.0f) * ((EasingValues::C2 + 1.0f) * (X * 2.0f - 2.0f) + EasingValues::C2) + 2.0f) / 2.0f;
173}
Definition EasingBPLib.cpp:7
const float C2
Definition EasingBPLib.cpp:9

◆ EaseInOutBounce()

float UEasingBPLib::EaseInOutBounce ( const float Value)
static
231{
232 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
233 return X < 0.5
234 ? (1 - EaseOutBounce(1 - 2 * X)) / 2
235 : (1 + EaseOutBounce(2 * X - 1)) / 2;
236}

◆ EaseInOutCirc()

float UEasingBPLib::EaseInOutCirc ( const float Value)
static
148{
149 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
150 return X < 0.5f
151 ? (1.0f - FMath::Sqrt(1.0f - FMath::Pow(2.0f * X, 2.0f))) / 2.0f
152 : (FMath::Sqrt(1.0f - FMath::Pow(-2.0f * X + 2.0f, 2.0f)) + 1.0f) / 2.0f;
153}

◆ EaseInOutCubic()

float UEasingBPLib::EaseInOutCubic ( const float Value)
static
66{
67 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
68 return X < 0.5f ? 4.0f * X * X * X : 1.0f - FMath::Pow(-2.0f * X + 2.0f, 3.0f) / 2.0f;
69}

◆ EaseInOutElastic()

float UEasingBPLib::EaseInOutElastic ( const float Value)
static
196{
197 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
198 return X == 0.0f
199 ? 0.0f
200 : X == 1.0f
201 ? 1.0f
202 : X < 0.5f
203 ? -(FMath::Pow(2.0f, 20.0f * X - 10.0f) * FMath::Sin((20.0f * X - 11.125f) * EasingValues::C5)) / 2.0f
204 : (FMath::Pow(2.0f, -20.0f * X + 10.0f) * FMath::Sin((20.0f * X - 11.125f) * EasingValues::C5)) / 2.0f + 1.0f;
205}
const float C5
Definition EasingBPLib.cpp:12

◆ EaseInOutExpo()

float UEasingBPLib::EaseInOutExpo ( const float Value)
static
124{
125 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
126 return X == 0.0f
127 ? 0.0f
128 : X == 1.0f
129 ? 1.0f
130 : X < 0.5f ?
131 FMath::Pow(2.0f, 20.0f * X - 10.0f) / 2.0f
132 : (2.0f - FMath::Pow(2.0f, -20.0f * X + 10.0f)) / 2.0f;
133}

◆ EaseInOutQuad()

float UEasingBPLib::EaseInOutQuad ( const float Value)
static
48{
49 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
50 return X < 0.5f ? 2.0f * X * X : 1 - FMath::Pow(-2.0f * X + 2.0f, 2.0f) / 2.0f;
51}

◆ EaseInOutQuart()

float UEasingBPLib::EaseInOutQuart ( const float Value)
static
84{
85 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
86 return X < 0.5f ? 8.0f * X * X * X * X : 1.0f - FMath::Pow(-2.0f * X + 2.0f, 4.0f) / 2.0f;
87}

◆ EaseInOutQuint()

float UEasingBPLib::EaseInOutQuint ( const float Value)
static
102{
103 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
104 return X < 0.5f ? 16.0f * X * X * X * X * X : 1.0f - FMath::Pow(-2.0f * X + 2.0f, 5.0f) / 2.0f;
105}

◆ EaseInOutSine()

float UEasingBPLib::EaseInOutSine ( const float Value)
static
30{
31 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
32 return -(FMath::Cos(PI * X) - 1) / 2;
33}

◆ EaseInQuad()

float UEasingBPLib::EaseInQuad ( const float Value)
static
36{
37 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
38 return X * X;
39}

◆ EaseInQuart()

float UEasingBPLib::EaseInQuart ( const float Value)
static
72{
73 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
74 return X * X * X * X;
75}

◆ EaseInQuint()

float UEasingBPLib::EaseInQuint ( const float Value)
static
90{
91 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
92 return X * X * X * X * X;
93}

◆ EaseInSine()

float UEasingBPLib::EaseInSine ( const float Value)
static

Easing function that implements the "ease in" sine curve.

Parameters
Value: A value between 0.0 and 1.0 representing the normalized progress of the animation.
Returns
The eased value based on the sine curve.
18{
19 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
20 return 1.0f - FMath::Cos((X * PI) / 2.0f);
21}

◆ EaseOutBack()

float UEasingBPLib::EaseOutBack ( const float Value)
static
162{
163 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
164 return 1.0f + EasingValues::C3 * FMath::Pow(X - 1.0f, 3.0f) + EasingValues::C1 * FMath::Pow(X - 1.0f, 2.0f);
165}

◆ EaseOutBounce()

float UEasingBPLib::EaseOutBounce ( const float Value)
static
214{
215 float X = FMath::Clamp(Value, 0.0f, 1.0f);
216 if (X < 1.0f / EasingValues::D1) {
217 return EasingValues::N1 * X * X;
218 } if (X < 2.0f / EasingValues::D1) {
219 X -= 1.5f / EasingValues::D1;
220 return EasingValues::N1 * X * X + 0.75f;
221 } if (X < 2.5f / EasingValues::D1) {
222 X -= 2.25f / EasingValues::D1;
223 return EasingValues::N1 * X * X + 0.9375f;
224 } {
225 X -= 2.625f / EasingValues::D1;
226 return EasingValues::N1 * X * X + 0.984375f;
227 }
228}
const float N1
Definition EasingBPLib.cpp:13
const float D1
Definition EasingBPLib.cpp:14

◆ EaseOutCirc()

float UEasingBPLib::EaseOutCirc ( const float Value)
static
142{
143 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
144 return FMath::Sqrt(1.0f - FMath::Pow(X - 1.0f, 2.0f));
145}

◆ EaseOutCubic()

float UEasingBPLib::EaseOutCubic ( const float Value)
static
60{
61 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
62 return 1 - FMath::Pow(1.0f - X, 3.0f);
63}

◆ EaseOutElastic()

float UEasingBPLib::EaseOutElastic ( const float Value)
static
186{
187 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
188 return X == 0.0f
189 ? 0.0f
190 : X == 1.0f
191 ? 1.0f
192 : FMath::Pow(2.0f, -10.0f * X) * FMath::Sin((X * 10.0f - 0.75f) * EasingValues::C4) + 1.0f;
193}

◆ EaseOutExpo()

float UEasingBPLib::EaseOutExpo ( const float Value)
static
116{
117 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
118 return X == 1.0f
119 ? 1.0f
120 : 1.0f - FMath::Pow(2.0f, -10.0f * X);
121}

◆ EaseOutQuad()

float UEasingBPLib::EaseOutQuad ( const float Value)
static
42{
43 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
44 return 1.0f - (1.0f - X) * (1.0f - X);
45}

◆ EaseOutQuart()

float UEasingBPLib::EaseOutQuart ( const float Value)
static
78{
79 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
80 return 1 - FMath::Pow(1.0f - X, 4.0f);
81}

◆ EaseOutQuint()

float UEasingBPLib::EaseOutQuint ( const float Value)
static
96{
97 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
98 return 1.0f - FMath::Pow(1.0f - X, 5.0f);
99}

◆ EaseOutSine()

float UEasingBPLib::EaseOutSine ( const float Value)
static

Easing function that implements the "ease out" sine curve.

Parameters
Value: A value between 0.0 and 1.0 representing the normalized progress of the animation.
Returns
The eased value based on the sine curve.
24{
25 const float X = FMath::Clamp(Value, 0.0f, 1.0f);
26 return FMath::Sin((X * PI) / 2.0f);
27}

The documentation for this class was generated from the following files: