UNPKG

@jscad/modeling

Version:

Constructive Solid Geometry (CSG) Library for JSCAD

29 lines (25 loc) 614 B
const create = require('./create') const vec3 = require('../../maths/vec3') /** * Create a deep clone of the given polygon * * @param {poly3} [out] - receiving polygon * @param {poly3} polygon - polygon to clone * @returns {poly3} a new polygon * @alias module:modeling/geometries/poly3.clone */ const clone = (...params) => { let out let poly3 if (params.length === 1) { out = create() poly3 = params[0] } else { out = params[0] poly3 = params[1] } // deep clone of vertices out.vertices = poly3.vertices.map((vec) => vec3.clone(vec)) return out } module.exports = clone