UNPKG

@jscad/modeling

Version:

Constructive Solid Geometry (CSG) Library for JSCAD

36 lines (34 loc) 715 B
/** * Creates a matrix from a vector scaling. * This is equivalent to (but much faster than): * * mat4.identity(dest) * mat4.scale(dest, dest, vec) * * @param {mat4} out - receiving matrix * @param {vec3} vector - X, Y, Z factors by which to scale * @returns {mat4} out * @alias module:modeling/maths/mat4.fromScaling * @example * let matrix = fromScaling([1, 2, 0.5]) */ const fromScaling = (out, vector) => { out[0] = vector[0] out[1] = 0 out[2] = 0 out[3] = 0 out[4] = 0 out[5] = vector[1] out[6] = 0 out[7] = 0 out[8] = 0 out[9] = 0 out[10] = vector[2] out[11] = 0 out[12] = 0 out[13] = 0 out[14] = 0 out[15] = 1 return out } module.exports = fromScaling