@bitbybit-dev/manifold
Version:
Bit By Bit Developers Manifold based CAD Library to Program Geometry
28 lines (27 loc) • 1.05 kB
JavaScript
import { ManifoldShapes } from "./manifold-shapes";
import { ManifoldBooleans } from "./manifold-booleans";
import { ManifoldOperations } from "./manifold-operations";
import { ManifoldTransforms } from "./manifold-transforms";
import { ManifoldEvaluate } from "./manifold-evaluate";
// Worker make an instance of this class itself
export class Manifold {
constructor(wasm) {
this.shapes = new ManifoldShapes(wasm);
this.booleans = new ManifoldBooleans(wasm);
this.operations = new ManifoldOperations(wasm);
this.transforms = new ManifoldTransforms(wasm);
this.evaluate = new ManifoldEvaluate(wasm);
}
manifoldToMesh(inputs) {
return inputs.manifold.getMesh(inputs.normalIdx);
}
manifoldsToMeshes(inputs) {
return inputs.manifolds.map((manifold, index) => {
const normalIdx = inputs.normalIdx ? inputs.normalIdx[index] : undefined;
return this.manifoldToMesh({
manifold,
normalIdx
});
});
}
}