@bitbybit-dev/occt-worker
Version:
Bit By Bit Developers CAD algorithms using OpenCascade Technology kernel adapted for WebWorker
106 lines (105 loc) • 4.04 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());
});
};
import { OCCTShapes } from "./shapes/shapes";
import { OCCTTransforms } from "./transforms";
import { OCCTOperations } from "./operations";
import { OCCTBooleans } from "./booleans";
import { OCCTIO } from "./io";
import { OCCTGeom } from "./geom/geom";
// import { OCCTAssembly } from './assembly/assembly';
import { OCCTFillets } from "./fillets";
import { OCCTShapeFix } from "./shape-fix";
import { OCCTDimensions } from "./dimensions";
/**
* Contains various methods for OpenCascade implementation
*/
export class OCCT {
constructor(occWorkerManager) {
this.occWorkerManager = occWorkerManager;
this.shapes = new OCCTShapes(occWorkerManager);
this.geom = new OCCTGeom(occWorkerManager);
this.transforms = new OCCTTransforms(occWorkerManager);
this.operations = new OCCTOperations(occWorkerManager);
this.booleans = new OCCTBooleans(occWorkerManager);
this.fillets = new OCCTFillets(occWorkerManager);
this.shapeFix = new OCCTShapeFix(occWorkerManager);
this.dimensions = new OCCTDimensions(occWorkerManager);
this.io = new OCCTIO(occWorkerManager);
}
/**
* Creates polygon points from the shape faces
* @param inputs shape
* @group convert
* @shortname faces to polygon points
* @drawable false
*/
shapeFacesToPolygonPoints(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.occWorkerManager.genericCallToWorkerPromise("shapeFacesToPolygonPoints", inputs);
});
}
/**
* Creates mesh from the shape
* @param inputs shape
* @group convert
* @shortname shape to mesh
* @drawable false
*/
shapeToMesh(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.occWorkerManager.genericCallToWorkerPromise("shapeToMesh", inputs);
});
}
/**
* Creates mesh from the shape
* @param inputs shape
* @group convert
* @shortname shape to mesh
* @drawable false
*/
shapesToMeshes(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.occWorkerManager.genericCallToWorkerPromise("shapesToMeshes", inputs);
});
}
/**
* Deletes shape from the cache to keep memory usage low
* @param inputs shape
* @group memory
* @shortname delete shape
*/
deleteShape(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.occWorkerManager.genericCallToWorkerPromise("deleteShape", inputs);
});
}
/**
* Deletes shapes from the cache to keep memory usage low
* @param inputs shape
* @group memory
* @shortname delete shapes
*/
deleteShapes(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.occWorkerManager.genericCallToWorkerPromise("deleteShapes", inputs);
});
}
/**
* Cleans all cache and all shapes from the memory
* @param inputs shape
* @group memory
* @shortname clean all cache
*/
cleanAllCache() {
return __awaiter(this, void 0, void 0, function* () {
return yield this.occWorkerManager.genericCallToWorkerPromise("cleanAllCache", {});
});
}
}