@bitbybit-dev/jscad-worker
Version:
Bit By Bit Developers JSCAD Based CAD Library to Program Geometry Via WebWorker
110 lines (109 loc) • 3.98 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());
});
};
/**
* Contains various functions for Solid booleans from JSCAD library https://github.com/jscad/OpenJSCAD.org
* Thanks JSCAD community for developing this kernel
*/
export class JSCADBooleans {
constructor(jscadWorkerManager) {
this.jscadWorkerManager = jscadWorkerManager;
}
/**
* Intersect multiple solid mesh objects
* @param inputs Contains multiple solids for intersection
* @returns Solid mesh
* @group boolean
* @shortname intersect
* @drawable true
*/
intersect(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("booleans.intersect", inputs);
});
}
/**
* Subtract multiple solid mesh objects
* @param inputs Contains multiple solids for subtraction
* @returns Solid mesh
* @group boolean
* @shortname subtract
* @drawable true
*/
subtract(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("booleans.subtract", inputs);
});
}
/**
* Union multiple solid mesh objects
* @param inputs Contains multiple solids for union
* @returns Solid mesh
* @group boolean
* @shortname union
* @drawable true
*/
union(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("booleans.union", inputs);
});
}
/**
* Intersect two solid mesh objects
* @param inputs Contains multiple solids for intersection
* @returns Solid mesh
* @group boolean
* @shortname intersect two
* @drawable true
*/
intersectTwo(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("booleans.intersectTwo", inputs);
});
}
/**
* Subtract two solid mesh objects
* @param inputs Contains multiple solids for subtraction
* @returns Solid mesh
* @group boolean
* @shortname subtract two
* @drawable true
*/
subtractTwo(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("booleans.subtractTwo", inputs);
});
}
/**
* Union two solid mesh objects
* @param inputs Contains multiple solids for union
* @returns Solid mesh
* @group boolean
* @shortname union two
* @drawable true
*/
unionTwo(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("booleans.unionTwo", inputs);
});
}
/**
* Subtract multiple meshes from one mesh object
* @param inputs Contains mesh from which to subtract and multiple meshes for subtraction
* @returns mesh
* @group boolean
* @shortname subtract from
* @drawable true
*/
subtractFrom(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("booleans.subtractFrom", inputs);
});
}
}