UNPKG

@bitbybit-dev/manifold

Version:

Bit By Bit Developers Manifold based CAD Library to Program Geometry

52 lines (51 loc) 1.51 kB
export class ManifoldTransforms { constructor(wasm) { this.manifold = wasm; } scale3D(inputs) { return inputs.manifold.scale(inputs.vector); } scale(inputs) { return inputs.manifold.scale(inputs.vector); } mirror(inputs) { return inputs.manifold.mirror(inputs.normal); } translate(inputs) { return inputs.manifold.translate(inputs.vector); } translateByVectors(inputs) { return inputs.vectors.map(vector => { return inputs.manifold.translate(vector); }); } rotate(inputs) { return inputs.manifold.rotate(inputs.vector); } rotateXYZ(inputs) { return inputs.manifold.rotate(inputs.x, inputs.y, inputs.z); } translateXYZ(inputs) { return inputs.manifold.translate(inputs.x, inputs.y, inputs.z); } transform(inputs) { return inputs.manifold.transform(inputs.transform); } transforms(inputs) { let currentShape = inputs.manifold; //potentially leaks in betweens... const transformedShapes = []; inputs.transforms.forEach(transform => { currentShape = currentShape.transform(transform); transformedShapes.push(currentShape); }); const res = transformedShapes.pop(); transformedShapes.forEach(shape => { shape.delete(); }); return res; } warp(inputs) { return inputs.manifold.warp(inputs.warpFunc); } }