@bitbybit-dev/occt-worker
Version:
Bit By Bit Developers CAD algorithms using OpenCascade Technology kernel adapted for WebWorker
172 lines (171 loc) • 5.45 kB
JavaScript
export class OCCTSolid {
constructor(occWorkerManager) {
this.occWorkerManager = occWorkerManager;
}
/**
* Creates Solid From shell that must be closed
* @param inputs Closed shell to make into solid
* @returns OpenCascade Solid
* @group from
* @shortname solid from closed shell
* @drawable true
*/
fromClosedShell(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.fromClosedShell", inputs);
}
/**
* Creates OpenCascade Box
* @param inputs Box size and center
* @returns OpenCascade Box
* @group primitives
* @shortname box
* @drawable true
*/
createBox(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.createBox", inputs);
}
/**
* Creates OpenCascade Cube
* @param inputs Cube size and center
* @returns OpenCascade Cube
* @group primitives
* @shortname cube
* @drawable true
*/
createCube(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.createCube", inputs);
}
/**
* Creates OpenCascade Box from corner
* @param inputs Box size and corner coordinates
* @returns OpenCascade Box
* @group primitives
* @shortname box corner
* @drawable true
*/
createBoxFromCorner(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.createBoxFromCorner", inputs);
}
/**
* Creates OpenCascade Cylinder
* @param inputs Cylinder parameters
* @returns OpenCascade Cylinder
* @group primitives
* @shortname cylinder
* @drawable true
*/
createCylinder(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.createCylinder", inputs);
}
/**
* Creates OpenCascade Cylinders on simple bit by bit lines represented by two points
* @param inputs Cylinder parameters
* @returns OpenCascade Cylinder
* @group primitives
* @shortname cylinders on lines
* @drawable true
*/
createCylindersOnLines(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.createCylindersOnLines", inputs);
}
/**
* Creates OpenCascade Sphere
* @param inputs Sphere radius and center
* @returns OpenCascade Sphere
* @group primitives
* @shortname sphere
* @drawable true
*/
createSphere(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.createSphere", inputs);
}
/**
* Creates OpenCascade Cone
* @param inputs Cone parameters
* @returns OpenCascade cone shape
* @group primitives
* @shortname cone
* @drawable true
*/
createCone(inputs) {
inputs.angle = inputs.angle * (Math.PI / 180);
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.createCone", inputs);
}
/**
* Get solid surface area
* @param inputs Closed solid shape
* @returns Surface area
* @group get
* @shortname area
* @drawable false
*/
getSolidSurfaceArea(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.getSolidSurfaceArea", inputs);
}
/**
* Get solid volume
* @param inputs Closed solid shape
* @returns volume
* @group get
* @shortname volume
* @drawable false
*/
getSolidVolume(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.getSolidVolume", inputs);
}
/**
* Get solids volumes
* @param inputs Closed solid shapes
* @returns volumes
* @group get
* @shortname volumes
* @drawable false
*/
getSolidsVolumes(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.getSolidsVolumes", inputs);
}
/**
* Get solid center of mass
* @param inputs Closed solid shape
* @returns center of mass point
* @group get
* @shortname center of mass
* @drawable true
*/
getSolidCenterOfMass(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.getSolidCenterOfMass", inputs);
}
/**
* Get centers of mass of solids
* @param inputs Closed solid shapes
* @returns Points indicating centers of mass
* @group get
* @shortname centers of mass
* @drawable true
*/
getSolidsCentersOfMass(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.getSolidsCentersOfMass", inputs);
}
/**
* Gets the solids of the shape in a list
* @param inputs Shape
* @returns OpenCascade solids array
* @group get
* @shortname solids
* @drawable true
*/
getSolids(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.getSolids", inputs);
}
/**
* Filters collection of points based on relationship with the solid. You can choose whether to output in, on or out points.
* @param inputs OpenCascade solid and collection of points with options
* @returns filtered points
* @group filter
* @shortname filter solid points
* @drawable true
*/
filterSolidPoints(inputs) {
return this.occWorkerManager.genericCallToWorkerPromise("shapes.solid.filterSolidPoints", inputs);
}
}