@bitbybit-dev/manifold
Version:
Bit By Bit Developers Manifold based CAD Library to Program Geometry
60 lines (59 loc) • 1.76 kB
JavaScript
export class ManifoldOperations {
constructor(wasm) {
this.manifold = wasm;
}
hull(inputs) {
return inputs.manifold.hull();
}
hullPoints(inputs) {
const { Manifold } = this.manifold;
const { hull } = Manifold;
return hull(inputs.points);
}
slice(inputs) {
return inputs.manifold.slice(inputs.height);
}
project(inputs) {
return inputs.manifold.project();
}
setTolerance(inputs) {
return inputs.manifold.setTolerance(inputs.tolerance);
}
asOriginal(inputs) {
return inputs.manifold.asOriginal();
}
reserveIds(inputs) {
const { Manifold } = this.manifold;
const { reserveIDs } = Manifold;
return reserveIDs(inputs.count);
}
compose(inputs) {
const { Manifold } = this.manifold;
const { compose } = Manifold;
return compose(inputs.manifolds);
}
decompose(inputs) {
return inputs.manifold.decompose();
}
calculateNormals(inputs) {
return inputs.manifold.calculateNormals(inputs.normalIdx, inputs.minSharpAngle);
}
calculateCurvature(inputs) {
return inputs.manifold.calculateCurvature(inputs.gaussianIdx, inputs.meanIdx);
}
refineToTolerance(inputs) {
return inputs.manifold.refineToTolerance(inputs.tolerance);
}
refineToLength(inputs) {
return inputs.manifold.refineToLength(inputs.length);
}
refine(inputs) {
return inputs.manifold.refine(inputs.number);
}
smoothOut(inputs) {
return inputs.manifold.smoothOut(inputs.minSharpAngle, inputs.minSmoothness);
}
smoothByNormals(inputs) {
return inputs.manifold.smoothByNormals(inputs.normalIdx);
}
}