UNPKG

@bitbybit-dev/jscad-worker

Version:

Bit By Bit Developers JSCAD Based CAD Library to Program Geometry Via WebWorker

122 lines (121 loc) 4.17 kB
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 Path from JSCAD library https://github.com/jscad/OpenJSCAD.org * Thanks JSCAD community for developing this kernel */ export class JSCADPath { constructor(jscadWorkerManager) { this.jscadWorkerManager = jscadWorkerManager; } /** * Create a 2D path from a list of points * @param inputs Points and indication if we want a closed path or not * @returns Path * @group from * @shortname points * @drawable true */ createFromPoints(inputs) { return __awaiter(this, void 0, void 0, function* () { return this.jscadWorkerManager.genericCallToWorkerPromise("path.createFromPoints", inputs); }); } /** * Create 2D paths from a lists of points * @param inputs Points lists * @returns Paths * @group from * @shortname paths from points * @drawable true */ createPathsFromPoints(inputs) { return __awaiter(this, void 0, void 0, function* () { return this.jscadWorkerManager.genericCallToWorkerPromise("path.createPathsFromPoints", inputs); }); } /** * Create a 2D path from a polyline * @param inputs Polyline and indication if we want a closed path or not * @returns Path * @group from * @shortname polyline * @drawable true */ createFromPolyline(inputs) { return __awaiter(this, void 0, void 0, function* () { return this.jscadWorkerManager.genericCallToWorkerPromise("path.createFromPolyline", inputs); }); } /** * Create empty 2D path * @returns Empty path * @group create * @shortname empty * @drawable false */ createEmpty() { return __awaiter(this, void 0, void 0, function* () { return this.jscadWorkerManager.genericCallToWorkerPromise("path.createEmpty", {}); }); } /** * Closes an open 2D path * @param inputs Path * @returns Closed path * @group edit * @shortname close * @drawable true */ close(inputs) { return __awaiter(this, void 0, void 0, function* () { return this.jscadWorkerManager.genericCallToWorkerPromise("path.close", inputs); }); } /** * Append the path with 2D points * @param inputs Path to append and points * @returns Appended path * @group append * @shortname points * @drawable true */ appendPoints(inputs) { return __awaiter(this, void 0, void 0, function* () { return this.jscadWorkerManager.genericCallToWorkerPromise("path.appendPoints", inputs); }); } /** * Append the path with polyline * @param inputs Path to append and polyline * @returns Appended path * @group append * @shortname polyline * @drawable true */ appendPolyline(inputs) { return __awaiter(this, void 0, void 0, function* () { return this.jscadWorkerManager.genericCallToWorkerPromise("path.appendPolyline", inputs); }); } /** * Append the arc to the path * @param inputs Path and arc parameters * @returns Appended path * @group append * @shortname arc * @drawable true */ appendArc(inputs) { return __awaiter(this, void 0, void 0, function* () { return this.jscadWorkerManager.genericCallToWorkerPromise("path.appendArc", inputs); }); } }