UNPKG

@jscad/modeling

Version:

Constructive Solid Geometry (CSG) Library for JSCAD

28 lines (22 loc) 679 B
const vec3 = require('../../../maths/vec3') /** * Determine if the given slices have the same edges. * @param {slice} a - the first slice to compare * @param {slice} b - the second slice to compare * @returns {Boolean} true if the slices are equal * @alias module:modeling/extrusions/slice.equals */ const equals = (a, b) => { const aedges = a.edges const bedges = b.edges if (aedges.length !== bedges.length) { return false } const isEqual = aedges.reduce((acc, aedge, i) => { const bedge = bedges[i] const d = vec3.squaredDistance(aedge[0], bedge[0]) return acc && (d < Number.EPSILON) }, true) return isEqual } module.exports = equals