UNPKG

@jscad/modeling

Version:

Constructive Solid Geometry (CSG) Library for JSCAD

28 lines (23 loc) 742 B
const vec3 = require('../../../maths/vec3') const create = require('./create') /** * Create a slice from the given sides (see geom2). * * @param {Array} sides - list of sides from geom2 * @returns {slice} a new slice * @alias module:modeling/extrusions/slice.fromSides * * @example * const myshape = circle({radius: 10}) * const slice = fromSides(geom2.toSides(myshape)) */ const fromSides = (sides) => { if (!Array.isArray(sides)) throw new Error('the given sides must be an array') // create a list of edges from the sides const edges = [] sides.forEach((side) => { edges.push([vec3.fromVec2(vec3.create(), side[0]), vec3.fromVec2(vec3.create(), side[1])]) }) return create(edges) } module.exports = fromSides