@bitbybit-dev/jscad-worker
Version:
Bit By Bit Developers JSCAD Based CAD Library to Program Geometry Via WebWorker
71 lines (70 loc) • 3.03 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 extrusions from JSCAD library https://github.com/jscad/OpenJSCAD.org
* Thanks JSCAD community for developing this kernel
*/
export class JSCADExtrusions {
constructor(jscadWorkerManager) {
this.jscadWorkerManager = jscadWorkerManager;
}
/**
* Linear extrude 2D geometries of solid category
* @param inputs Contains options and geometries for linear extrude
* @returns Extruded geometry
* @group extrude
* @shortname linear
* @drawable true
*/
extrudeLinear(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("extrusions.extrudeLinear", inputs);
});
}
/**
* Rectangular extrude 2D geometries of solid category. Creates a wall-type extrusion of certain height and size.
* @param inputs Contains options and geometries for rectangular extrude
* @returns Extruded geometry
* @group extrude
* @shortname rectangular
* @drawable true
*/
extrudeRectangular(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("extrusions.extrudeRectangular", inputs);
});
}
/**
* Rectangular extrude a list of 2D points. Creates a wall-type extrusion of certain height and size.
* @param inputs Contains options and points for extrusion
* @returns Extruded geometry
* @group extrude
* @shortname rectangular points
* @drawable true
*/
extrudeRectangularPoints(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("extrusions.extrudeRectangularPoints", inputs);
});
}
/**
* Rectangular extrude a list of 2D points. Creates a wall-type extrusion of certain height and size.
* @param inputs Contains options and points for extrusion
* @returns Extruded geometry
* @group extrude
* @shortname rotational
* @drawable true
*/
extrudeRotate(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("extrusions.extrudeRotate", inputs);
});
}
}