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