@jscad/modeling
Version:
Constructive Solid Geometry (CSG) Library for JSCAD
18 lines (16 loc) • 537 B
JavaScript
/**
* Snaps the coordinates of the given vector to the given epsilon.
*
* @param {vec3} out - receiving vector
* @param {vec3} vector - vector to snap
* @param {Number} epsilon - epsilon of precision, less than 0
* @returns {vec3} out
* @alias module:modeling/maths/vec3.snap
*/
const snap = (out, vector, epsilon) => {
out[0] = Math.round(vector[0] / epsilon) * epsilon + 0
out[1] = Math.round(vector[1] / epsilon) * epsilon + 0
out[2] = Math.round(vector[2] / epsilon) * epsilon + 0
return out
}
module.exports = snap