UNPKG

@jscad/modeling

Version:

Constructive Solid Geometry (CSG) Library for JSCAD

22 lines (18 loc) 666 B
const vec3 = require('../../../maths/vec3') const create = require('./create') /** * Transform the given slice using the given matrix. * @param {mat4} matrix - transform matrix * @param {slice} slice - slice to transform * @returns {slice} the transformed slice * @alias module:modeling/extrusions/slice.transform * * @example * let matrix = mat4.fromTranslation([1, 2, 3]) * let newslice = transform(matrix, oldslice) */ const transform = (matrix, slice) => { const edges = slice.edges.map((edge) => [vec3.transform(vec3.create(), edge[0], matrix), vec3.transform(vec3.create(), edge[1], matrix)]) return create(edges) } module.exports = transform