@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
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 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);
});
}
}