@bitbybit-dev/jscad-worker
Version:
Bit By Bit Developers JSCAD Based CAD Library to Program Geometry Via WebWorker
149 lines (148 loc) • 4.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 Polygon from JSCAD library https://github.com/jscad/OpenJSCAD.org
* Thanks JSCAD community for developing this kernel
*/
export class JSCADPolygon {
constructor(jscadWorkerManager) {
this.jscadWorkerManager = jscadWorkerManager;
}
/**
* Create a 2D polygon from a list of points
* @param inputs Points
* @returns Polygons
* @group from
* @shortname polygon from points
* @drawable true
*/
createFromPoints(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("polygon.createFromPoints", inputs);
});
}
/**
* Create a 2D polygon from a polyline
* @param inputs Polyline
* @returns Polygon
* @group from
* @shortname polyline
* @drawable true
*/
createFromPolyline(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("polygon.createFromPolyline", inputs);
});
}
/**
* Create a 2D polygon from a curve
* @param inputs Nurbs curve
* @returns Polygon
* @group from
* @shortname curve
* @drawable true
*/
createFromCurve(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("polygon.createFromCurve", inputs);
});
}
/**
* Create a 2D polygon from a path
* @param inputs Path
* @returns Polygon
* @group from
* @shortname path
* @drawable true
*/
createFromPath(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("polygon.createFromPath", inputs);
});
}
/**
* Create a 2D polygon circle
* @param inputs Circle parameters
* @returns Circle polygon
* @group primitives
* @shortname circle
* @drawable true
*/
circle(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("polygon.circle", inputs);
});
}
/**
* Create a 2D polygon ellipse
* @param inputs Ellipse parameters
* @returns Ellipse polygon
* @group primitives
* @shortname ellipse
* @drawable true
*/
ellipse(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("polygon.ellipse", inputs);
});
}
/**
* Create a 2D polygon rectangle
* @param inputs Rectangle parameters
* @returns Rectangle polygon
* @group primitives
* @shortname rectangle
* @drawable true
*/
rectangle(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("polygon.rectangle", inputs);
});
}
/**
* Create a 2D rounded rectangle
* @param inputs Rounded rectangle parameters
* @returns Rounded rectangle polygon
* @group primitives
* @shortname rounded rectangle
* @drawable true
*/
roundedRectangle(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("polygon.roundedRectangle", inputs);
});
}
/**
* Create a 2D polygon square
* @param inputs Square parameters
* @returns Square polygon
* @group primitives
* @shortname square
* @drawable true
*/
square(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.jscadWorkerManager.genericCallToWorkerPromise("polygon.square", inputs);
});
}
/**
* Create a 2D polygon star
* @param inputs Star parameters
* @returns Star polygon
* @group primitives
* @shortname star
* @drawable true
*/
star(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.jscadWorkerManager.genericCallToWorkerPromise("polygon.star", inputs);
});
}
}