Methods
(static) add(out, a, b) → {vec4}
    Adds two vec4's
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
Returns:
    out
- Type
- vec4
(static) ceil(out, a) → {vec4}
    Math.ceil the components of a vec4
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | vector to ceil | 
Returns:
    out
- Type
- vec4
(static) clone(a) → {vec4}
    Creates a new vec4 initialized with values from an existing vector
    Parameters:
| Name | Type | Description | 
|---|---|---|
| a | vec4 | vector to clone | 
Returns:
    a new 4D vector
- Type
- vec4
(static) copy(out, a) → {vec4}
    Copy the values from one vec4 to another
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the source vector | 
Returns:
    out
- Type
- vec4
(static) create() → {vec4}
    Creates a new, empty vec4
Returns:
    a new 4D vector
- Type
- vec4
(static) dist()
    Alias for vec4.distance
        
            
    
    
    (static) distance(a, b) → {Number}
    Calculates the euclidian distance between two vec4's
    Parameters:
| Name | Type | Description | 
|---|---|---|
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
Returns:
    distance between a and b
- Type
- Number
(static) div()
    Alias for vec4.divide
        
            
    
    
    (static) divide(out, a, b) → {vec4}
    Divides two vec4's
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
Returns:
    out
- Type
- vec4
(static) dot(a, b) → {Number}
    Calculates the dot product of two vec4's
    Parameters:
| Name | Type | Description | 
|---|---|---|
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
Returns:
    dot product of a and b
- Type
- Number
(static) equals(a, b) → {Boolean}
    Returns whether or not the vectors have approximately the same elements in the same position.
    Parameters:
| Name | Type | Description | 
|---|---|---|
| a | vec4 | The first vector. | 
| b | vec4 | The second vector. | 
Returns:
    True if the vectors are equal, false otherwise.
- Type
- Boolean
(static) exactEquals(a, b) → {Boolean}
    Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)
    Parameters:
| Name | Type | Description | 
|---|---|---|
| a | vec4 | The first vector. | 
| b | vec4 | The second vector. | 
Returns:
    True if the vectors are equal, false otherwise.
- Type
- Boolean
(static) floor(out, a) → {vec4}
    Math.floor the components of a vec4
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | vector to floor | 
Returns:
    out
- Type
- vec4
(static) forEach(a, stride, offset, count, fn, argopt) → {Array}
    Perform some operation over an array of vec4s.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| a | Array | the array of vectors to iterate over | |
| stride | Number | Number of elements between the start of each vec4. If 0 assumes tightly packed | |
| offset | Number | Number of elements to skip at the beginning of the array | |
| count | Number | Number of vec4s to iterate over. If 0 iterates over entire array | |
| fn | function | Function to call for each vector in the array | |
| arg | Object | <optional> | additional argument to pass to fn | 
Returns:
    a
- Type
- Array
(static) fromValues(x, y, z, w) → {vec4}
    Creates a new vec4 initialized with the given values
    Parameters:
| Name | Type | Description | 
|---|---|---|
| x | Number | X component | 
| y | Number | Y component | 
| z | Number | Z component | 
| w | Number | W component | 
Returns:
    a new 4D vector
- Type
- vec4
(static) inverse(out, a) → {vec4}
    Returns the inverse of the components of a vec4
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | vector to invert | 
Returns:
    out
- Type
- vec4
(static) len()
    Alias for vec4.length
        
            
    
    
    (static) length(a) → {Number}
    Calculates the length of a vec4
    Parameters:
| Name | Type | Description | 
|---|---|---|
| a | vec4 | vector to calculate length of | 
Returns:
    length of a
- Type
- Number
(static) lerp(out, a, b, t) → {vec4}
    Performs a linear interpolation between two vec4's
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
| t | Number | interpolation amount, in the range [0-1], between the two inputs | 
Returns:
    out
- Type
- vec4
(static) max(out, a, b) → {vec4}
    Returns the maximum of two vec4's
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
Returns:
    out
- Type
- vec4
(static) min(out, a, b) → {vec4}
    Returns the minimum of two vec4's
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
Returns:
    out
- Type
- vec4
(static) mul()
    Alias for vec4.multiply
        
            
    
    
    (static) multiply(out, a, b) → {vec4}
    Multiplies two vec4's
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
Returns:
    out
- Type
- vec4
(static) negate(out, a) → {vec4}
    Negates the components of a vec4
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | vector to negate | 
Returns:
    out
- Type
- vec4
(static) normalize(out, a) → {vec4}
    Normalize a vec4
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | vector to normalize | 
Returns:
    out
- Type
- vec4
(static) random(out, scaleopt) → {vec4}
    Generates a random vector with the given scale
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| out | vec4 | the receiving vector | |
| scale | Number | <optional> | Length of the resulting vector. If ommitted, a unit vector will be returned | 
Returns:
    out
- Type
- vec4
(static) round(out, a) → {vec4}
    Math.round the components of a vec4
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | vector to round | 
Returns:
    out
- Type
- vec4
(static) scale(out, a, b) → {vec4}
    Scales a vec4 by a scalar number
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the vector to scale | 
| b | Number | amount to scale the vector by | 
Returns:
    out
- Type
- vec4
(static) scaleAndAdd(out, a, b, scale) → {vec4}
    Adds two vec4's after scaling the second operand by a scalar value
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
| scale | Number | the amount to scale b by before adding | 
Returns:
    out
- Type
- vec4
(static) set(out, x, y, z, w) → {vec4}
    Set the components of a vec4 to the given values
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| x | Number | X component | 
| y | Number | Y component | 
| z | Number | Z component | 
| w | Number | W component | 
Returns:
    out
- Type
- vec4
(static) sqrDist()
    Alias for vec4.squaredDistance
        
            
    
    
    (static) sqrLen()
    Alias for vec4.squaredLength
        
            
    
    
    (static) squaredDistance(a, b) → {Number}
    Calculates the squared euclidian distance between two vec4's
    Parameters:
| Name | Type | Description | 
|---|---|---|
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
Returns:
    squared distance between a and b
- Type
- Number
(static) squaredLength(a) → {Number}
    Calculates the squared length of a vec4
    Parameters:
| Name | Type | Description | 
|---|---|---|
| a | vec4 | vector to calculate squared length of | 
Returns:
    squared length of a
- Type
- Number
(static) str(a) → {String}
    Returns a string representation of a vector
    Parameters:
| Name | Type | Description | 
|---|---|---|
| a | vec4 | vector to represent as a string | 
Returns:
    string representation of the vector
- Type
- String
(static) sub()
    Alias for vec4.subtract
        
            
    
    
    (static) subtract(out, a, b) → {vec4}
    Subtracts vector b from vector a
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the first operand | 
| b | vec4 | the second operand | 
Returns:
    out
- Type
- vec4
(static) transformMat4(out, a, m) → {vec4}
    Transforms the vec4 with a mat4.
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the vector to transform | 
| m | mat4 | matrix to transform with | 
Returns:
    out
- Type
- vec4
(static) transformQuat(out, a, q) → {vec4}
    Transforms the vec4 with a quat
    Parameters:
| Name | Type | Description | 
|---|---|---|
| out | vec4 | the receiving vector | 
| a | vec4 | the vector to transform | 
| q | quat | quaternion to transform with | 
Returns:
    out
- Type
- vec4