Skip to content

Commit 2b55cee

Browse files
refactored to exclude generic worker code in a separate library bitbybit-occt-worker
1 parent 445e8c5 commit 2b55cee

33 files changed

+52
-2840
lines changed

declarationsBase.ts

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1887,17 +1887,10 @@ declare class Line {
18871887
* @returns OpenCascade geom surface
18881888
*/
18891889
surfaceFromFace(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSFacePointer>): Promise<Inputs.OCCT.GeomSurfacePointer>;
1890-
}declare class OCCTIO {
1891-
private readonly occWorkerManager;
1890+
}declare class OCCTIO extends BaseOCCTIO {
1891+
readonly occWorkerManager: OCCTWorkerManager;
18921892
private readonly geometryHelper;
18931893
constructor(occWorkerManager: OCCTWorkerManager, geometryHelper: GeometryHelper);
1894-
/**
1895-
* Saves the step file
1896-
* @link https://docs.bitbybit.dev/classes/bitbybit_occt_io.OCCTIO.html#saveShapeSTEP
1897-
* @param inputs STEP filename and shape to be saved
1898-
* @returns String of a step file
1899-
*/
1900-
saveShapeSTEP(inputs: Inputs.OCCT.SaveStepDto<Inputs.OCCT.TopoDSShapePointer>): Promise<string>;
19011894
/**
19021895
* Imports the step or iges asset file
19031896
* @link https://docs.bitbybit.dev/classes/bitbybit_occt_io.OCCTIO.html#loadSTEPorIGES
@@ -1913,23 +1906,13 @@ declare class Line {
19131906
saveShapeStl(inputs: Inputs.OCCT.SaveStlDto<Inputs.OCCT.TopoDSShapePointer>): Promise<Inputs.OCCT.DecomposedMeshDto>;
19141907
}/**
19151908
* Contains various methods for OpenCascade implementation
1916-
* Much of the work is done by Johnathon Selstad and Sebastian Alff to port OCC to JavaScript
1917-
* I'm super grateful for their work!
19181909
*/
1919-
declare class OCCT {
1910+
declare class OCCT extends BaseOCCT {
19201911
private readonly context;
1921-
private readonly occWorkerManager;
1912+
readonly occWorkerManager: OCCTWorkerManager;
19221913
private readonly geometryHelper;
19231914
private readonly solidText;
19241915
private readonly vector;
1925-
readonly shapes: OCCTShapes;
1926-
readonly geom: OCCTGeom;
1927-
readonly assembly: OCCTAssembly;
1928-
readonly fillets: OCCTFillets;
1929-
readonly transforms: OCCTTransforms;
1930-
readonly operations: OCCTOperations;
1931-
readonly booleans: OCCTBooleans;
1932-
readonly advanced: OCCTAdvanced;
19331916
readonly io: OCCTIO;
19341917
constructor(context: Context, occWorkerManager: OCCTWorkerManager, geometryHelper: GeometryHelper, solidText: JSCADText, vector: Vector);
19351918
/**

declarationsInputs.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -730,17 +730,17 @@ export const inputDeclarations = `declare namespace Asset {
730730
* from './verb-inputs';
731731
* from './jscad-inputs';
732732
* from './tag-inputs';
733-
* from './occ-inputs';
734733
* from './asset-inputs';
735-
* from './base-inputs';
736734
* from './draw-inputs';
737735
* from './babylon-mesh-inputs';
738736
* from './babylon-camera-inputs';
739737
* from './babylon-ray-inputs';
740738
* from './babylon-pick-inputs';
741739
* from './babylon-webxr';
742740
* from './babylon-material-inputs';
743-
* from './time-inputs';declare namespace JSCAD {
741+
* from './time-inputs';
742+
* from 'bitbybit-occt/lib/api/inputs/occ-inputs';
743+
* from 'bitbybit-occt/lib/api/inputs/base-inputs';declare namespace JSCAD {
744744
class DrawSolidMeshDto {
745745
/**
746746
* Provide options without default values

index.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ export * from './lib/api/inputs';
77
export * from './lib/api/bitbybit/babylon/transforms';
88
export * from './lib/bit-by-bit-blockly-helper.service';
99
export * from './lib/models/print-save.model';
10-
export * from './lib/workers/occ/occ-info';
11-
export * from './lib/workers/occ/occ-state.enum';
12-
export * from './lib/workers/occ/occ-worker-manager';
1310
export * from './lib/workers/jscad/jscad-info';
1411
export * from './lib/workers/jscad/jscad-state.enum';
1512
export * from './lib/workers/jscad/jscad-worker-manager';

lib/api/bitbybit.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,22 @@ import { JSCAD } from './bitbybit/jscad/jscad';
1010
import { Tag } from './bitbybit/tag';
1111
import { Time } from './bitbybit/time';
1212
import { OCCT } from './bitbybit/occt/occt';
13+
import { OCCT as BaseOCCT } from 'bitbybit-occt-worker/lib/api/occt/occt';
1314
import { Asset } from './bitbybit/asset';
1415
import { Color } from './bitbybit/color';
1516
import { Context } from './context';
1617
import { GeometryHelper } from './geometry-helper';
1718
import { JSCADWorkerManager } from '../workers/jscad/jscad-worker-manager';
18-
import { OCCTWorkerManager } from '../workers/occ/occ-worker-manager';
19+
import { OCCTWorkerManager } from 'bitbybit-occt-worker/lib/occ-worker/occ-worker-manager';
1920
import { Scene } from '@babylonjs/core';
20-
import { OCCTService } from 'bitbybit-occt/lib/occ-service';
21-
import { OccHelper } from 'bitbybit-occt/lib/occ-helper';
22-
import { VectorHelperService } from 'bitbybit-occt/lib/api/vector-helper.service';
23-
import { ShapesHelperService } from 'bitbybit-occt/lib/api/shapes-helper.service';
2421
import { OpenCascadeInstance } from 'bitbybit-occt/bitbybit-dev-occt/bitbybit-dev-occt';
2522

2623
export class BitByBitBase {
2724

2825
public context: Context;
2926
public jscadWorkerManager: JSCADWorkerManager;
3027
public occtWorkerManager: OCCTWorkerManager;
31-
28+
3229
public babylon: Babylon;
3330
public vector: Vector;
3431
public point: Point;
@@ -39,7 +36,7 @@ export class BitByBitBase {
3936
public jscad: JSCAD;
4037
public tag: Tag;
4138
public time: Time;
42-
public occt: OCCT | OCCTService;
39+
public occt: OCCT & BaseOCCT;
4340
public asset: Asset;
4441
public color: Color;
4542

@@ -79,11 +76,6 @@ export class BitByBitBase {
7976
this.context.scene = scene;
8077
if (occt) {
8178
this.occtWorkerManager.setOccWorker(occt);
82-
} else if (!occt && occtInstance) {
83-
const vecService = new VectorHelperService();
84-
const shapesService = new ShapesHelperService();
85-
const openCascade = new OCCTService(occtInstance, new OccHelper(vecService, shapesService, occtInstance));
86-
this.occt = openCascade;
8779
}
8880
if (jscad) {
8981
this.jscadWorkerManager.setJscadWorker(jscad);

lib/api/bitbybit/occt/advanced/advanced.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

lib/api/bitbybit/occt/advanced/intersections.ts

Lines changed: 0 additions & 24 deletions
This file was deleted.

lib/api/bitbybit/occt/assembly/assembly.ts

Lines changed: 0 additions & 26 deletions
This file was deleted.

lib/api/bitbybit/occt/booleans.ts

Lines changed: 0 additions & 51 deletions
This file was deleted.

lib/api/bitbybit/occt/fillets.ts

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)