Static Methods
.ceilPowerOfTwo( value : number ) : number
Returns the smallest power of two that is greater than or equal to the given number.
| value |
The value to find a POT for. |
- Returns: The smallest power of two that is greater than or equal to the given number.
.clamp( value : number, min : number, max : number ) : number
Clamps the given value between min and max.
| value |
The value to clamp. |
| min |
The min value. |
| max |
The max value. |
- Returns: The clamped value.
.damp( x : number, y : number, lambda : number, dt : number ) : number
Smoothly interpolate a number from x to y in a spring-like manner using a delta
time to maintain frame rate independent movement. For details, see
Frame rate independent damping using lerp.
| x |
The current point. |
| y |
The target point. |
| lambda |
A higher lambda value will make the movement more sudden, and a lower value will make the movement more gradual. |
| dt |
Delta time in seconds. |
- Returns: The interpolated value.
.degToRad( degrees : number ) : number
Converts degrees to radians.
| degrees |
A value in degrees. |
- Returns: The converted value in radians.
.denormalize( value : number, array : TypedArray ) : number
Denormalizes the given value according to the given typed array.
| value |
The value to denormalize. |
| array |
The typed array that defines the data type of the value. |
- Returns: The denormalize (float) value in the range
[0,1].
.euclideanModulo( n : number, m : number ) : number
Computes the Euclidean modulo of the given parameters that
is ( ( n % m ) + m ) % m.
| n |
The first parameter. |
| m |
The second parameter. |
- Returns: The Euclidean modulo.
.floorPowerOfTwo( value : number ) : number
Returns the largest power of two that is less than or equal to the given number.
| value |
The value to find a POT for. |
- Returns: The largest power of two that is less than or equal to the given number.
.generateUUID() : string
Generate a UUID (universally unique identifier).
- Returns: The UUID.
.inverseLerp( x : number, y : number, value : number ) : number
Returns the percentage in the closed interval [0, 1] of the given value
between the start and end point.
| x |
The start point |
| y |
The end point. |
| value |
A value between start and end. |
- Returns: The interpolation factor.
.isPowerOfTwo( value : number ) : boolean
Returns true if the given number is a power of two.
| value |
The value to check. |
- Returns: Whether the given number is a power of two or not.
.lerp( x : number, y : number, t : number ) : number
Returns a value linearly interpolated from two known points based on the given interval -
t = 0 will return x and t = 1 will return y.
| x |
The start point |
| y |
The end point. |
| t |
The interpolation factor in the closed interval |
- Returns: The interpolated value.
.mapLinear( x : number, a1 : number, a2 : number, b1 : number, b2 : number ) : number
Performs a linear mapping from range <a1, a2> to range <b1, b2>
for the given value.
| x |
The value to be mapped. |
| a1 |
Minimum value for range A. |
| a2 |
Maximum value for range A. |
| b1 |
Minimum value for range B. |
| b2 |
Maximum value for range B. |
- Returns: The mapped value.
.normalize( value : number, array : TypedArray ) : number
Normalizes the given value according to the given typed array.
| value |
The float value in the range |
| array |
The typed array that defines the data type of the value. |
- Returns: The normalize value.
.pingpong( x : number, length : number ) : number
Returns a value that alternates between 0 and the given length parameter.
| x |
The value to pingpong. |
| length |
The positive value the function will pingpong to. Default is |
- Returns: The alternated value.
.radToDeg( radians : number ) : number
Converts radians to degrees.
| radians |
A value in radians. |
- Returns: The converted value in degrees.
.randFloat( low : number, high : number ) : number
Returns a random float from <low, high> interval.
| low |
The lower value boundary. |
| high |
The upper value boundary |
- Returns: A random float.
.randFloatSpread( range : number ) : number
Returns a random integer from <-range/2, range/2> interval.
| range |
Defines the value range. |
- Returns: A random float.
.randInt( low : number, high : number ) : number
Returns a random integer from <low, high> interval.
| low |
The lower value boundary. |
| high |
The upper value boundary |
- Returns: A random integer.
.seededRandom( s : number ) : number
Returns a deterministic pseudo-random float in the interval [0, 1].
| s |
The integer seed. |
- Returns: A random float.
.setQuaternionFromProperEuler( q : Quaternion, a : number, b : number, c : number, order : 'XYX' | 'XZX' | 'YXY' | 'YZY' | 'ZXZ' | 'ZYZ' )
Sets the given quaternion from the Intrinsic Proper Euler Angles defined by the given angles and order.
Rotations are applied to the axes in the order specified by order:
rotation by angle a is applied first, then by angle b, then by angle c.
| q |
The quaternion to set. |
| a |
The rotation applied to the first axis, in radians. |
| b |
The rotation applied to the second axis, in radians. |
| c |
The rotation applied to the third axis, in radians. |
| order |
A string specifying the axes order. |
.smootherstep( x : number, min : number, max : number ) : number
A variation on smoothstep that has zero 1st and 2nd order derivatives at x=0 and x=1.
| x |
The value to evaluate based on its position between min and max. |
| min |
The min value. Any x value below min will be |
| max |
The max value. Any x value above max will be |
- Returns: The alternated value.
.smoothstep( x : number, min : number, max : number ) : number
Returns a value in the range [0,1] that represents the percentage that x has
moved between min and max, but smoothed or slowed down the closer x is to
the min and max.
See Smoothstep for more details.
| x |
The value to evaluate based on its position between min and max. |
| min |
The min value. Any x value below min will be |
| max |
The max value. Any x value above max will be |
- Returns: The alternated value.