@bitbybit-dev/manifold-worker
Version:
Bit By Bit Developers Manifold Based CAD Library to Program Geometry Via WebWorker
55 lines (54 loc) • 2.45 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { ManifoldShapes } from "./shapes";
import { ManifoldBooleans } from "./booleans";
import { ManifoldOperations } from "./operations";
import { ManifoldTransforms } from "./transforms";
import { ManifoldEvaluate } from "./evaluate";
/**
* Contains various functions for Solid meshes from Manifold library https://github.com/elalish/manifold
* Thanks Manifold community for developing this kernel
*/
export class Manifold {
constructor(manifoldWorkerManager) {
this.manifoldWorkerManager = manifoldWorkerManager;
this.shapes = new ManifoldShapes(manifoldWorkerManager);
this.booleans = new ManifoldBooleans(manifoldWorkerManager);
this.operations = new ManifoldOperations(manifoldWorkerManager);
this.transforms = new ManifoldTransforms(manifoldWorkerManager);
this.evaluate = new ManifoldEvaluate(manifoldWorkerManager);
}
/**
* Turns manifold shape into a mesh
* @param inputs Manifold shape
* @returns Decomposed mesh definition
* @group meshing
* @shortname manifold to mesh
* @drawable false
*/
manifoldToMesh(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.manifoldWorkerManager.genericCallToWorkerPromise("manifold.manifoldToMesh", inputs);
});
}
/**
* Turns manifold shapes into meshes
* @param inputs Manifold shapes
* @returns Decomposed mesh definitions
* @group meshing
* @shortname manifolds to meshes
* @drawable false
*/
manifoldsToMeshes(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.manifoldWorkerManager.genericCallToWorkerPromise("manifold.manifoldsToMeshes", inputs);
});
}
}