occt-wasm 1.5.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -14,9 +14,297 @@
14
14
  */
15
15
  export { BooleanOp, JoinType, OcctError, OcctErrorCode, TransitionMode, type AddChildOptions, type AddShapeOptions, type BoundingBox, type Color3, type CurveKind, type CurvatureData, type EdgeData, type EvolutionData, type GLTFExportOptions, type InitOptions, type LabelInfo, type LabelTag, type Location, type Mesh, type MeshBatchData, type NurbsCurveData, type ShapeQueryResult, type PointClassification, type ProjectionData, type ShapeHandle, type ShapeOrientation, type ShapeType, type SurfaceKind, type TessellateOptions, type UVBounds, type Vec3, } from "./types.js";
16
16
  export { XCAFDocument, type EmscriptenFS } from "./xcaf-document.js";
17
- import { XCAFDocument as XCAFDocumentImpl } from "./xcaf-document.js";
17
+ import { XCAFDocument as XCAFDocumentImpl, type EmscriptenFS } from "./xcaf-document.js";
18
18
  import type { BoundingBox, CurveKind, CurvatureData, EdgeData, EvolutionData, InitOptions, Mesh, MeshBatchData, NurbsCurveData, PointClassification, ProjectionData, ShapeHandle, ShapeQueryResult, ShapeOrientation, ShapeType, SurfaceKind, TessellateOptions, BooleanOp, UVBounds, Vec3 } from "./types.js";
19
19
  import { JoinType, TransitionMode } from "./types.js";
20
+ /**
21
+ * The Emscripten module exposed by `occt-wasm.js`. Provides Embind class
22
+ * constructors, std::vector wrappers, and typed-array views into WASM
23
+ * linear memory.
24
+ *
25
+ * Returned by {@link OcctKernel.getRawModule}. Structurally compatible with
26
+ * brepjs's `OcctWasmModule` interface.
27
+ */
28
+ export interface OcctWasmModule {
29
+ OcctKernel: new () => OcctRawKernel;
30
+ VectorUint32: new () => EmbindVectorU32;
31
+ VectorDouble: new () => EmbindVectorF64;
32
+ VectorInt: new () => EmbindVectorI32;
33
+ HEAPF32: Float32Array;
34
+ HEAPU32: Uint32Array;
35
+ HEAP32: Int32Array;
36
+ FS: EmscriptenFS;
37
+ }
38
+ interface RawMeshData {
39
+ positionCount: number;
40
+ normalCount: number;
41
+ indexCount: number;
42
+ faceGroupCount: number;
43
+ getPositionsPtr(): number;
44
+ getNormalsPtr(): number;
45
+ getIndicesPtr(): number;
46
+ getFaceGroupsPtr(): number;
47
+ delete(): void;
48
+ }
49
+ interface RawMeshBatchData {
50
+ positionCount: number;
51
+ normalCount: number;
52
+ indexCount: number;
53
+ shapeCount: number;
54
+ getPositionsPtr(): number;
55
+ getNormalsPtr(): number;
56
+ getIndicesPtr(): number;
57
+ getShapeOffsetsPtr(): number;
58
+ delete(): void;
59
+ }
60
+ interface RawEdgeData {
61
+ pointCount: number;
62
+ edgeGroupCount: number;
63
+ getPointsPtr(): number;
64
+ getEdgeGroupsPtr(): number;
65
+ delete(): void;
66
+ }
67
+ interface RawEvolutionData {
68
+ resultId: number;
69
+ modified: EmbindVectorI32;
70
+ generated: EmbindVectorI32;
71
+ deleted: EmbindVectorI32;
72
+ }
73
+ interface RawProjectionData {
74
+ visibleOutline: number;
75
+ visibleSmooth: number;
76
+ visibleSharp: number;
77
+ hiddenOutline: number;
78
+ hiddenSmooth: number;
79
+ hiddenSharp: number;
80
+ }
81
+ interface RawNurbsCurveData {
82
+ degree: number;
83
+ rational: boolean;
84
+ periodic: boolean;
85
+ knots: EmbindVectorF64;
86
+ multiplicities: EmbindVectorI32;
87
+ poles: EmbindVectorF64;
88
+ weights: EmbindVectorF64;
89
+ }
90
+ interface EmbindVectorU32 {
91
+ push_back(v: number): void;
92
+ get(i: number): number;
93
+ size(): number;
94
+ delete(): void;
95
+ }
96
+ interface EmbindVectorF64 {
97
+ push_back(v: number): void;
98
+ get(i: number): number;
99
+ size(): number;
100
+ delete(): void;
101
+ }
102
+ interface EmbindVectorI32 {
103
+ push_back(v: number): void;
104
+ get(i: number): number;
105
+ size(): number;
106
+ delete(): void;
107
+ }
108
+ /**
109
+ * The raw Embind kernel — direct mirror of the C++ `OcctKernel` class
110
+ * compiled to WASM. Operates on `u32` arena handles instead of branded
111
+ * {@link ShapeHandle} values.
112
+ *
113
+ * Returned by {@link OcctKernel.getRawKernel}. Structurally compatible with
114
+ * brepjs's `OcctKernelWasm` interface. Prefer the public `OcctKernel` class
115
+ * unless you specifically need to hand the raw kernel to a third-party
116
+ * adapter — calling raw methods bypasses `OcctError` wrapping and the branded
117
+ * handle types.
118
+ */
119
+ export interface OcctRawKernel {
120
+ release(id: number): void;
121
+ releaseAll(): void;
122
+ getShapeCount(): number;
123
+ makeBox(dx: number, dy: number, dz: number): number;
124
+ makeBoxFromCorners(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
125
+ makeCylinder(radius: number, height: number): number;
126
+ makeSphere(radius: number): number;
127
+ makeCone(r1: number, r2: number, height: number): number;
128
+ makeTorus(majorRadius: number, minorRadius: number): number;
129
+ makeEllipsoid(rx: number, ry: number, rz: number): number;
130
+ makeRectangle(width: number, height: number): number;
131
+ fuse(a: number, b: number): number;
132
+ cut(a: number, b: number): number;
133
+ common(a: number, b: number): number;
134
+ intersect(a: number, b: number): number;
135
+ section(a: number, b: number): number;
136
+ fuseAll(shapeIds: EmbindVectorU32): number;
137
+ cutAll(shapeId: number, toolIds: EmbindVectorU32): number;
138
+ split(shapeId: number, toolIds: EmbindVectorU32): number;
139
+ extrude(id: number, dx: number, dy: number, dz: number): number;
140
+ revolve(id: number, px: number, py: number, pz: number, dx: number, dy: number, dz: number, angle: number): number;
141
+ fillet(solidId: number, edgeIds: EmbindVectorU32, radius: number): number;
142
+ chamfer(solidId: number, edgeIds: EmbindVectorU32, distance: number): number;
143
+ chamferDistAngle(solidId: number, edgeIds: EmbindVectorU32, distance: number, angleDeg: number): number;
144
+ shell(solidId: number, faceIds: EmbindVectorU32, thickness: number, tolerance: number): number;
145
+ offset(solidId: number, distance: number, tolerance: number): number;
146
+ draft(shapeId: number, faceId: number, angle: number, dx: number, dy: number, dz: number): number;
147
+ pipe(profileId: number, spineId: number): number;
148
+ simplePipe(profileId: number, spineId: number): number;
149
+ loft(wireIds: EmbindVectorU32, isSolid: boolean, ruled: boolean): number;
150
+ loftWithVertices(wireIds: EmbindVectorU32, isSolid: boolean, ruled: boolean, startVertexId: number, endVertexId: number): number;
151
+ sweep(wireId: number, spineId: number, transitionMode: number): number;
152
+ sweepPipeShell(profileId: number, spineId: number, freenet: boolean, smooth: boolean): number;
153
+ draftPrism(shapeId: number, dx: number, dy: number, dz: number, angleDeg: number): number;
154
+ revolveVec(shapeId: number, cx: number, cy: number, cz: number, dx: number, dy: number, dz: number, angle: number): number;
155
+ makeVertex(x: number, y: number, z: number): number;
156
+ makeEdge(v1: number, v2: number): number;
157
+ makeLineEdge(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
158
+ makeCircleEdge(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number): number;
159
+ makeCircleArc(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number, startAngle: number, endAngle: number): number;
160
+ makeArcEdge(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number): number;
161
+ makeEllipseEdge(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, majorRadius: number, minorRadius: number): number;
162
+ makeEllipseArc(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, majorRadius: number, minorRadius: number, startAngle: number, endAngle: number): number;
163
+ makeBezierEdge(flatPoints: EmbindVectorF64): number;
164
+ makeTangentArc(x1: number, y1: number, z1: number, tx: number, ty: number, tz: number, x2: number, y2: number, z2: number): number;
165
+ makeHelixWire(px: number, py: number, pz: number, dx: number, dy: number, dz: number, pitch: number, height: number, radius: number): number;
166
+ makeWire(edgeIds: EmbindVectorU32): number;
167
+ makeFace(wireId: number): number;
168
+ makeNonPlanarFace(wireId: number): number;
169
+ addHolesInFace(faceId: number, holeWireIds: EmbindVectorU32): number;
170
+ removeHolesFromFace(faceId: number, holeIndices: EmbindVectorI32): number;
171
+ solidFromShell(shellId: number): number;
172
+ makeSolid(shellId: number): number;
173
+ sew(shapeIds: EmbindVectorU32, tolerance: number): number;
174
+ sewAndSolidify(faceIds: EmbindVectorU32, tolerance: number): number;
175
+ buildSolidFromFaces(faceIds: EmbindVectorU32, tolerance: number): number;
176
+ makeCompound(shapeIds: EmbindVectorU32): number;
177
+ buildTriFace(ax: number, ay: number, az: number, bx: number, by: number, bz: number, cx: number, cy: number, cz: number): number;
178
+ makeFaceOnSurface(faceId: number, wireId: number): number;
179
+ translate(id: number, dx: number, dy: number, dz: number): number;
180
+ rotate(id: number, px: number, py: number, pz: number, dx: number, dy: number, dz: number, angle: number): number;
181
+ scale(id: number, px: number, py: number, pz: number, factor: number): number;
182
+ mirror(id: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number): number;
183
+ copy(id: number): number;
184
+ transform(id: number, matrix: EmbindVectorF64): number;
185
+ generalTransform(id: number, matrix: EmbindVectorF64): number;
186
+ linearPattern(id: number, dx: number, dy: number, dz: number, spacing: number, count: number): number;
187
+ circularPattern(id: number, cx: number, cy: number, cz: number, ax: number, ay: number, az: number, angle: number, count: number): number;
188
+ composeTransform(m1: EmbindVectorF64, m2: EmbindVectorF64): EmbindVectorF64;
189
+ translateBatch(ids: EmbindVectorU32, offsets: EmbindVectorF64): EmbindVectorU32;
190
+ booleanPipeline(baseId: number, opCodes: EmbindVectorI32, toolIds: EmbindVectorU32): number;
191
+ queryBatch(ids: EmbindVectorU32): EmbindVectorF64;
192
+ filletBatch(solidIds: EmbindVectorU32, edgeCounts: EmbindVectorI32, flatEdgeIds: EmbindVectorU32, radii: EmbindVectorF64): EmbindVectorU32;
193
+ transformBatch(ids: EmbindVectorU32, matrices: EmbindVectorF64): EmbindVectorU32;
194
+ rotateBatch(ids: EmbindVectorU32, params: EmbindVectorF64): EmbindVectorU32;
195
+ scaleBatch(ids: EmbindVectorU32, params: EmbindVectorF64): EmbindVectorU32;
196
+ mirrorBatch(ids: EmbindVectorU32, params: EmbindVectorF64): EmbindVectorU32;
197
+ getShapeType(id: number): string;
198
+ getSubShapes(id: number, shapeType: string): EmbindVectorU32;
199
+ downcast(id: number, targetType: string): number;
200
+ distanceBetween(a: number, b: number): number;
201
+ isSame(a: number, b: number): boolean;
202
+ isEqual(a: number, b: number): boolean;
203
+ isNull(id: number): boolean;
204
+ hashCode(id: number, upperBound: number): number;
205
+ shapeOrientation(id: number): string;
206
+ sharedEdges(faceA: number, faceB: number): EmbindVectorU32;
207
+ adjacentFaces(shapeId: number, faceId: number): EmbindVectorU32;
208
+ iterShapes(id: number): EmbindVectorU32;
209
+ edgeToFaceMap(id: number, hashUpperBound: number): EmbindVectorI32;
210
+ tessellate(id: number, linDefl: number, angDefl: number): RawMeshData;
211
+ wireframe(id: number, deflection: number): RawEdgeData;
212
+ hasTriangulation(id: number): boolean;
213
+ meshShape(id: number, linDefl: number, angDefl: number): RawMeshData;
214
+ meshBatch(ids: EmbindVectorU32, linDefl: number, angDefl: number): RawMeshBatchData;
215
+ importStep(data: string): number;
216
+ exportStep(id: number): string;
217
+ importStl(data: string): number;
218
+ exportStl(id: number, linearDeflection: number, ascii: boolean): string;
219
+ toBREP(id: number): string;
220
+ fromBREP(data: string): number;
221
+ getBoundingBox(id: number, useTriangulation: boolean): BoundingBox;
222
+ getVolume(id: number): number;
223
+ getSurfaceArea(id: number): number;
224
+ getLength(id: number): number;
225
+ getCenterOfMass(id: number): EmbindVectorF64;
226
+ getSurfaceCenterOfMass(faceId: number): EmbindVectorF64;
227
+ getLinearCenterOfMass(id: number): EmbindVectorF64;
228
+ surfaceCurvature(faceId: number, u: number, v: number): EmbindVectorF64;
229
+ vertexPosition(vertexId: number): EmbindVectorF64;
230
+ surfaceType(faceId: number): string;
231
+ surfaceNormal(faceId: number, u: number, v: number): EmbindVectorF64;
232
+ pointOnSurface(faceId: number, u: number, v: number): EmbindVectorF64;
233
+ outerWire(faceId: number): number;
234
+ uvBounds(faceId: number): EmbindVectorF64;
235
+ uvFromPoint(faceId: number, x: number, y: number, z: number): EmbindVectorF64;
236
+ getFaceCylinderData(faceId: number): EmbindVectorF64;
237
+ projectPointOnFace(faceId: number, x: number, y: number, z: number): EmbindVectorF64;
238
+ classifyPointOnFace(faceId: number, u: number, v: number): string;
239
+ bsplineSurface(flatPoints: EmbindVectorF64, rows: number, cols: number): number;
240
+ curveType(edgeId: number): string;
241
+ curvePointAtParam(edgeId: number, param: number): EmbindVectorF64;
242
+ curveTangent(edgeId: number, param: number): EmbindVectorF64;
243
+ curveParameters(edgeId: number): EmbindVectorF64;
244
+ curveIsClosed(edgeId: number): boolean;
245
+ curveIsPeriodic(edgeId: number): boolean;
246
+ curveLength(edgeId: number): number;
247
+ interpolatePoints(flatPoints: EmbindVectorF64, periodic: boolean): number;
248
+ approximatePoints(flatPoints: EmbindVectorF64, tolerance: number): number;
249
+ getNurbsCurveData(edgeId: number): RawNurbsCurveData;
250
+ liftCurve2dToPlane(flatPoints2d: EmbindVectorF64, planeOx: number, planeOy: number, planeOz: number, planeZx: number, planeZy: number, planeZz: number, planeXx: number, planeXy: number, planeXz: number): number;
251
+ projectEdges(shapeId: number, ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, xx: number, xy: number, xz: number, hasXAxis: boolean): RawProjectionData;
252
+ thicken(shapeId: number, thickness: number, tolerance: number): number;
253
+ defeature(shapeId: number, faceIds: EmbindVectorU32, tolerance: number): number;
254
+ reverseShape(id: number): number;
255
+ simplify(id: number): number;
256
+ filletVariable(solidId: number, edgeId: number, startRadius: number, endRadius: number): number;
257
+ offsetWire2D(wireId: number, offset: number, joinType: number): number;
258
+ translateWithHistory(id: number, dx: number, dy: number, dz: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
259
+ fuseWithHistory(a: number, b: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
260
+ cutWithHistory(a: number, b: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
261
+ filletWithHistory(solidId: number, edgeIds: EmbindVectorU32, radius: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
262
+ rotateWithHistory(id: number, px: number, py: number, pz: number, dx: number, dy: number, dz: number, angle: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
263
+ mirrorWithHistory(id: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
264
+ scaleWithHistory(id: number, cx: number, cy: number, cz: number, factor: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
265
+ intersectWithHistory(a: number, b: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
266
+ chamferWithHistory(solidId: number, edgeIds: EmbindVectorU32, distance: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
267
+ shellWithHistory(solidId: number, faceIds: EmbindVectorU32, thickness: number, tolerance: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
268
+ offsetWithHistory(solidId: number, distance: number, tolerance: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
269
+ thickenWithHistory(shapeId: number, thickness: number, tolerance: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
270
+ makeNullShape(): number;
271
+ buildExtrusionLaw(profile: string, length: number, endFactor: number): number;
272
+ trimLaw(lawId: number, first: number, last: number): number;
273
+ sweepWithLaw(profileId: number, spineId: number, lawId: number): number;
274
+ buildCurves3d(wireId: number): void;
275
+ fixWireOnFace(wireId: number, faceId: number, tolerance: number): number;
276
+ fixShape(id: number): number;
277
+ unifySameDomain(id: number): number;
278
+ isValid(id: number): boolean;
279
+ healSolid(id: number, tolerance: number): number;
280
+ healFace(id: number, tolerance: number): number;
281
+ healWire(id: number, tolerance: number): number;
282
+ fixFaceOrientations(id: number): number;
283
+ removeDegenerateEdges(id: number): number;
284
+ xcafNewDocument(): number;
285
+ xcafClose(docId: number): void;
286
+ xcafAddShape(docId: number, shapeId: number): number;
287
+ xcafAddComponent(docId: number, parentTag: number, shapeId: number, tx: number, ty: number, tz: number, rx: number, ry: number, rz: number): number;
288
+ xcafSetColor(docId: number, tag: number, r: number, g: number, b: number): void;
289
+ xcafSetName(docId: number, tag: number, name: string): void;
290
+ xcafGetLabelInfo(docId: number, tag: number): {
291
+ labelId: number;
292
+ name: string;
293
+ hasColor: boolean;
294
+ r: number;
295
+ g: number;
296
+ b: number;
297
+ isAssembly: boolean;
298
+ isComponent: boolean;
299
+ shapeId: number;
300
+ };
301
+ xcafGetChildLabels(docId: number, parentTag: number): EmbindVectorI32;
302
+ xcafGetRootLabels(docId: number): EmbindVectorI32;
303
+ xcafExportSTEP(docId: number): string;
304
+ xcafImportSTEP(stepData: string): number;
305
+ xcafExportGLTF(docId: number, linDefl: number, angDefl: number): string;
306
+ delete(): void;
307
+ }
20
308
  /**
21
309
  * OCCT kernel compiled to WASM. Arena-based shape management
22
310
  * with branded handle types for type safety.
@@ -119,13 +407,36 @@ export declare class OcctKernel {
119
407
  fillet(solid: ShapeHandle, edges: ShapeHandle[], radius: number): ShapeHandle;
120
408
  chamfer(solid: ShapeHandle, edges: ShapeHandle[], distance: number): ShapeHandle;
121
409
  chamferDistAngle(solid: ShapeHandle, edges: ShapeHandle[], distance: number, angleDeg: number): ShapeHandle;
122
- shell(solid: ShapeHandle, facesToRemove: ShapeHandle[], thickness: number): ShapeHandle;
123
- offset(solid: ShapeHandle, distance: number): ShapeHandle;
410
+ /**
411
+ * Hollow a solid by removing the listed faces and offsetting remaining
412
+ * faces inward by `thickness`.
413
+ *
414
+ * @param tolerance - OCCT precision for the thick-solid reconstruction.
415
+ * Use `1e-6` for precise shells (matches brepjs default); `1e-3` is a
416
+ * coarser legacy value that survives more inputs but produces
417
+ * different topology than brepjs.
418
+ */
419
+ shell(solid: ShapeHandle, facesToRemove: ShapeHandle[], thickness: number, tolerance: number): ShapeHandle;
420
+ /**
421
+ * Offset all faces of a solid by `distance`.
422
+ *
423
+ * @param tolerance - OCCT precision for the offset reconstruction. Use
424
+ * `1e-6` for precise offsets (matches brepjs default); `1e-3` is a
425
+ * coarser legacy value.
426
+ */
427
+ offset(solid: ShapeHandle, distance: number, tolerance: number): ShapeHandle;
124
428
  draft(shape: ShapeHandle, face: ShapeHandle, angleRad: number, direction: Vec3): ShapeHandle;
125
429
  pipe(profile: ShapeHandle, spine: ShapeHandle): ShapeHandle;
126
430
  simplePipe(profile: ShapeHandle, spine: ShapeHandle): ShapeHandle;
127
- loft(wires: ShapeHandle[], isSolid: boolean): ShapeHandle;
128
- loftWithVertices(wires: ShapeHandle[], isSolid: boolean, startVertex: ShapeHandle, endVertex: ShapeHandle): ShapeHandle;
431
+ /**
432
+ * Loft a solid (or shell) through a sequence of wire profiles.
433
+ *
434
+ * @param ruled - When `true`, sections are joined by ruled (linear)
435
+ * surfaces; when `false`, by smooth B-spline surfaces. The two modes
436
+ * produce dramatically different topology for the same input.
437
+ */
438
+ loft(wires: ShapeHandle[], isSolid: boolean, ruled: boolean): ShapeHandle;
439
+ loftWithVertices(wires: ShapeHandle[], isSolid: boolean, ruled: boolean, startVertex: ShapeHandle, endVertex: ShapeHandle): ShapeHandle;
129
440
  sweep(wire: ShapeHandle, spine: ShapeHandle, transitionMode?: TransitionMode): ShapeHandle;
130
441
  sweepPipeShell(profile: ShapeHandle, spine: ShapeHandle, freenet?: boolean, smooth?: boolean): ShapeHandle;
131
442
  draftPrism(shape: ShapeHandle, dx: number, dy: number, dz: number, angleDeg: number): ShapeHandle;
@@ -236,11 +547,35 @@ export declare class OcctKernel {
236
547
  fromBREP(data: string): ShapeHandle;
237
548
  cacheStep(stepData: string | ArrayBuffer): string;
238
549
  loadCached(brep: string): ShapeHandle;
239
- getBoundingBox(shape: ShapeHandle): BoundingBox;
550
+ /**
551
+ * Compute the axis-aligned bounding box of a shape.
552
+ *
553
+ * Uses `BRepBndLib::AddOptimal` for surface-precise bounds independent of
554
+ * tessellation state. The simpler `BRepBndLib::Add` falls back to BSpline
555
+ * pole hulls when triangulation is absent, which overshoots curved
556
+ * geometry by ~0.27·r for arcs of radius r — that was the source of the
557
+ * uniform 1.2 mm bounds shift versus brepjs in occt-wasm 2.0.
558
+ *
559
+ * @param useTriangulation - If `true`, use existing triangulation as the
560
+ * starting bound and refine via surface analysis (faster). If `false`,
561
+ * do the surface analysis from scratch (slower, but doesn't depend on
562
+ * prior tessellation). Both modes produce tight bounds; brepjs's
563
+ * `BRepBndLib.Add(shape, box, true)` corresponds to `true` here.
564
+ */
565
+ getBoundingBox(shape: ShapeHandle, useTriangulation: boolean): BoundingBox;
240
566
  getVolume(shape: ShapeHandle): number;
241
567
  getSurfaceArea(shape: ShapeHandle): number;
242
568
  getLength(shape: ShapeHandle): number;
243
569
  getCenterOfMass(shape: ShapeHandle): Vec3;
570
+ /**
571
+ * Surface (area-weighted) center of mass for a face. Equivalent to
572
+ * `BRepGProp::SurfaceProperties(face, props).CentreOfMass()`.
573
+ *
574
+ * Use this for face fingerprinting and finder predicates rather than a
575
+ * tessellation-based centroid — for non-planar faces (cylinders, holed
576
+ * planes) the two diverge.
577
+ */
578
+ getSurfaceCenterOfMass(face: ShapeHandle): Vec3;
244
579
  getLinearCenterOfMass(shape: ShapeHandle): Vec3;
245
580
  surfaceCurvature(face: ShapeHandle, u: number, v: number): CurvatureData;
246
581
  vertexPosition(vertex: ShapeHandle): Vec3;
@@ -254,6 +589,17 @@ export declare class OcctKernel {
254
589
  u: number;
255
590
  v: number;
256
591
  };
592
+ /**
593
+ * Extract cylinder data from a cylindrical face.
594
+ *
595
+ * Returns `null` when the face's underlying surface is not a cylinder,
596
+ * otherwise `{ radius, isDirect }` where `isDirect` mirrors
597
+ * `gp_Cylinder::Direct()` (i.e. whether U and V form a right-handed pair).
598
+ */
599
+ getFaceCylinderData(face: ShapeHandle): {
600
+ radius: number;
601
+ isDirect: boolean;
602
+ } | null;
257
603
  /** Project a 3D point onto a face, returning the closest point as Vec3. */
258
604
  projectPointOnFace(face: ShapeHandle, point: Vec3): Vec3;
259
605
  /** Classify a UV point relative to a face boundary. */
@@ -279,8 +625,22 @@ export declare class OcctKernel {
279
625
  y: number;
280
626
  }>, planeOrigin: Vec3, planeZ: Vec3, planeX: Vec3): ShapeHandle;
281
627
  projectEdges(shape: ShapeHandle, viewOrigin: Vec3, viewDirection: Vec3, xAxis?: Vec3): ProjectionData;
282
- thicken(shape: ShapeHandle, thickness: number): ShapeHandle;
283
- defeature(shape: ShapeHandle, faces: ShapeHandle[]): ShapeHandle;
628
+ /**
629
+ * Thicken a face/shell into a solid (or grow a solid uniformly).
630
+ *
631
+ * @param tolerance - OCCT precision for the offset reconstruction. Use
632
+ * `1e-6` for precise thickening (matches brepjs default); `1e-3` is a
633
+ * coarser legacy value.
634
+ */
635
+ thicken(shape: ShapeHandle, thickness: number, tolerance: number): ShapeHandle;
636
+ /**
637
+ * Remove faces from a solid by closing them off (zero-thickness shell).
638
+ *
639
+ * @param tolerance - OCCT precision for the reconstruction. Use `1e-6`
640
+ * for precise feature removal (matches brepjs default); `1e-3` is a
641
+ * coarser legacy value.
642
+ */
643
+ defeature(shape: ShapeHandle, faces: ShapeHandle[], tolerance: number): ShapeHandle;
284
644
  reverseShape(shape: ShapeHandle): ShapeHandle;
285
645
  simplify(shape: ShapeHandle): ShapeHandle;
286
646
  filletVariable(solid: ShapeHandle, edge: ShapeHandle, startRadius: number, endRadius: number): ShapeHandle;
@@ -298,9 +658,9 @@ export declare class OcctKernel {
298
658
  scaleWithHistory(shape: ShapeHandle, center: Vec3, factor: number, inputFaceHashes: number[], hashUpperBound: number): EvolutionData;
299
659
  intersectWithHistory(a: ShapeHandle, b: ShapeHandle, inputFaceHashes: number[], hashUpperBound: number): EvolutionData;
300
660
  chamferWithHistory(solid: ShapeHandle, edges: ShapeHandle[], distance: number, inputFaceHashes: number[], hashUpperBound: number): EvolutionData;
301
- shellWithHistory(solid: ShapeHandle, faces: ShapeHandle[], thickness: number, inputFaceHashes: number[], hashUpperBound: number): EvolutionData;
302
- offsetWithHistory(solid: ShapeHandle, distance: number, inputFaceHashes: number[], hashUpperBound: number): EvolutionData;
303
- thickenWithHistory(shape: ShapeHandle, thickness: number, inputFaceHashes: number[], hashUpperBound: number): EvolutionData;
661
+ shellWithHistory(solid: ShapeHandle, faces: ShapeHandle[], thickness: number, tolerance: number, inputFaceHashes: number[], hashUpperBound: number): EvolutionData;
662
+ offsetWithHistory(solid: ShapeHandle, distance: number, tolerance: number, inputFaceHashes: number[], hashUpperBound: number): EvolutionData;
663
+ thickenWithHistory(shape: ShapeHandle, thickness: number, tolerance: number, inputFaceHashes: number[], hashUpperBound: number): EvolutionData;
304
664
  buildExtrusionLaw(profile: string, length: number, endFactor: number): ShapeHandle;
305
665
  trimLaw(law: ShapeHandle, first: number, last: number): ShapeHandle;
306
666
  sweepWithLaw(profile: ShapeHandle, spine: ShapeHandle, law: ShapeHandle): ShapeHandle;
@@ -330,5 +690,27 @@ export declare class OcctKernel {
330
690
  /** Return a human-readable summary of a shape for debugging. */
331
691
  describe(shape: ShapeHandle): string;
332
692
  [Symbol.dispose](): void;
693
+ /**
694
+ * Return the underlying Emscripten module. Intended for integrators who
695
+ * need to hand the raw module to a third-party adapter (e.g.
696
+ * `brepjs.OcctWasmAdapter`) without bypassing {@link OcctKernel.init}.
697
+ *
698
+ * The module is owned by this `OcctKernel` instance — disposing the
699
+ * kernel does not invalidate the module reference, but the raw kernel
700
+ * obtained via {@link getRawKernel} *will* be deleted.
701
+ */
702
+ getRawModule(): OcctWasmModule;
703
+ /**
704
+ * Return the underlying raw Embind kernel. Intended for integrators who
705
+ * need to hand the raw kernel to a third-party adapter (e.g.
706
+ * `brepjs.OcctWasmAdapter`).
707
+ *
708
+ * Lifecycle: the raw kernel is owned by this `OcctKernel`. Calling
709
+ * `kernel[Symbol.dispose]()` (or letting the FinalizationRegistry collect
710
+ * the wrapper) will `releaseAll()` and `delete()` the raw kernel — so the
711
+ * adapter must not outlive the `OcctKernel` it was constructed from.
712
+ * Do not call `delete()` or `releaseAll()` on the raw kernel directly.
713
+ */
714
+ getRawKernel(): OcctRawKernel;
333
715
  }
334
716
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -308,19 +308,35 @@ export class OcctKernel {
308
308
  }
309
309
  });
310
310
  }
311
- shell(solid, facesToRemove, thickness) {
311
+ /**
312
+ * Hollow a solid by removing the listed faces and offsetting remaining
313
+ * faces inward by `thickness`.
314
+ *
315
+ * @param tolerance - OCCT precision for the thick-solid reconstruction.
316
+ * Use `1e-6` for precise shells (matches brepjs default); `1e-3` is a
317
+ * coarser legacy value that survives more inputs but produces
318
+ * different topology than brepjs.
319
+ */
320
+ shell(solid, facesToRemove, thickness, tolerance) {
312
321
  return wrap("shell", () => {
313
322
  const vec = this.#makeVectorU32(facesToRemove);
314
323
  try {
315
- return handle(this.#raw.shell(solid, vec, thickness));
324
+ return handle(this.#raw.shell(solid, vec, thickness, tolerance));
316
325
  }
317
326
  finally {
318
327
  vec.delete();
319
328
  }
320
329
  });
321
330
  }
322
- offset(solid, distance) {
323
- return wrap("offset", () => handle(this.#raw.offset(solid, distance)));
331
+ /**
332
+ * Offset all faces of a solid by `distance`.
333
+ *
334
+ * @param tolerance - OCCT precision for the offset reconstruction. Use
335
+ * `1e-6` for precise offsets (matches brepjs default); `1e-3` is a
336
+ * coarser legacy value.
337
+ */
338
+ offset(solid, distance, tolerance) {
339
+ return wrap("offset", () => handle(this.#raw.offset(solid, distance, tolerance)));
324
340
  }
325
341
  draft(shape, face, angleRad, direction) {
326
342
  return wrap("draft", () => handle(this.#raw.draft(shape, face, angleRad, direction.x, direction.y, direction.z)));
@@ -334,22 +350,29 @@ export class OcctKernel {
334
350
  simplePipe(profile, spine) {
335
351
  return wrap("simplePipe", () => handle(this.#raw.simplePipe(profile, spine)));
336
352
  }
337
- loft(wires, isSolid) {
353
+ /**
354
+ * Loft a solid (or shell) through a sequence of wire profiles.
355
+ *
356
+ * @param ruled - When `true`, sections are joined by ruled (linear)
357
+ * surfaces; when `false`, by smooth B-spline surfaces. The two modes
358
+ * produce dramatically different topology for the same input.
359
+ */
360
+ loft(wires, isSolid, ruled) {
338
361
  return wrap("loft", () => {
339
362
  const vec = this.#makeVectorU32(wires);
340
363
  try {
341
- return handle(this.#raw.loft(vec, isSolid));
364
+ return handle(this.#raw.loft(vec, isSolid, ruled));
342
365
  }
343
366
  finally {
344
367
  vec.delete();
345
368
  }
346
369
  });
347
370
  }
348
- loftWithVertices(wires, isSolid, startVertex, endVertex) {
371
+ loftWithVertices(wires, isSolid, ruled, startVertex, endVertex) {
349
372
  return wrap("loftWithVertices", () => {
350
373
  const vec = this.#makeVectorU32(wires);
351
374
  try {
352
- return handle(this.#raw.loftWithVertices(vec, isSolid, startVertex, endVertex));
375
+ return handle(this.#raw.loftWithVertices(vec, isSolid, ruled, startVertex, endVertex));
353
376
  }
354
377
  finally {
355
378
  vec.delete();
@@ -879,8 +902,23 @@ export class OcctKernel {
879
902
  // =======================================================================
880
903
  // Query / Measure
881
904
  // =======================================================================
882
- getBoundingBox(shape) {
883
- return wrap("getBoundingBox", () => this.#raw.getBoundingBox(shape));
905
+ /**
906
+ * Compute the axis-aligned bounding box of a shape.
907
+ *
908
+ * Uses `BRepBndLib::AddOptimal` for surface-precise bounds independent of
909
+ * tessellation state. The simpler `BRepBndLib::Add` falls back to BSpline
910
+ * pole hulls when triangulation is absent, which overshoots curved
911
+ * geometry by ~0.27·r for arcs of radius r — that was the source of the
912
+ * uniform 1.2 mm bounds shift versus brepjs in occt-wasm 2.0.
913
+ *
914
+ * @param useTriangulation - If `true`, use existing triangulation as the
915
+ * starting bound and refine via surface analysis (faster). If `false`,
916
+ * do the surface analysis from scratch (slower, but doesn't depend on
917
+ * prior tessellation). Both modes produce tight bounds; brepjs's
918
+ * `BRepBndLib.Add(shape, box, true)` corresponds to `true` here.
919
+ */
920
+ getBoundingBox(shape, useTriangulation) {
921
+ return wrap("getBoundingBox", () => this.#raw.getBoundingBox(shape, useTriangulation));
884
922
  }
885
923
  getVolume(shape) {
886
924
  return wrap("getVolume", () => this.#raw.getVolume(shape));
@@ -897,6 +935,20 @@ export class OcctKernel {
897
935
  return this.#vec3FromEmbind(v);
898
936
  });
899
937
  }
938
+ /**
939
+ * Surface (area-weighted) center of mass for a face. Equivalent to
940
+ * `BRepGProp::SurfaceProperties(face, props).CentreOfMass()`.
941
+ *
942
+ * Use this for face fingerprinting and finder predicates rather than a
943
+ * tessellation-based centroid — for non-planar faces (cylinders, holed
944
+ * planes) the two diverge.
945
+ */
946
+ getSurfaceCenterOfMass(face) {
947
+ return wrap("getSurfaceCenterOfMass", () => {
948
+ const v = this.#raw.getSurfaceCenterOfMass(face);
949
+ return this.#vec3FromEmbind(v);
950
+ });
951
+ }
900
952
  getLinearCenterOfMass(shape) {
901
953
  return wrap("getLinearCenterOfMass", () => {
902
954
  const v = this.#raw.getLinearCenterOfMass(shape);
@@ -940,6 +992,26 @@ export class OcctKernel {
940
992
  uvFromPoint(face, point) {
941
993
  return wrap("uvFromPoint", () => this.#vec2FromEmbind(this.#raw.uvFromPoint(face, point.x, point.y, point.z)));
942
994
  }
995
+ /**
996
+ * Extract cylinder data from a cylindrical face.
997
+ *
998
+ * Returns `null` when the face's underlying surface is not a cylinder,
999
+ * otherwise `{ radius, isDirect }` where `isDirect` mirrors
1000
+ * `gp_Cylinder::Direct()` (i.e. whether U and V form a right-handed pair).
1001
+ */
1002
+ getFaceCylinderData(face) {
1003
+ return wrap("getFaceCylinderData", () => {
1004
+ const vec = this.#raw.getFaceCylinderData(face);
1005
+ try {
1006
+ if (vec.size() === 0)
1007
+ return null;
1008
+ return { radius: vec.get(0), isDirect: vec.get(1) !== 0 };
1009
+ }
1010
+ finally {
1011
+ vec.delete();
1012
+ }
1013
+ });
1014
+ }
943
1015
  /** Project a 3D point onto a face, returning the closest point as Vec3. */
944
1016
  projectPointOnFace(face, point) {
945
1017
  return wrap("projectPointOnFace", () => {
@@ -1072,14 +1144,28 @@ export class OcctKernel {
1072
1144
  // =======================================================================
1073
1145
  // Modifiers
1074
1146
  // =======================================================================
1075
- thicken(shape, thickness) {
1076
- return wrap("thicken", () => handle(this.#raw.thicken(shape, thickness)));
1147
+ /**
1148
+ * Thicken a face/shell into a solid (or grow a solid uniformly).
1149
+ *
1150
+ * @param tolerance - OCCT precision for the offset reconstruction. Use
1151
+ * `1e-6` for precise thickening (matches brepjs default); `1e-3` is a
1152
+ * coarser legacy value.
1153
+ */
1154
+ thicken(shape, thickness, tolerance) {
1155
+ return wrap("thicken", () => handle(this.#raw.thicken(shape, thickness, tolerance)));
1077
1156
  }
1078
- defeature(shape, faces) {
1157
+ /**
1158
+ * Remove faces from a solid by closing them off (zero-thickness shell).
1159
+ *
1160
+ * @param tolerance - OCCT precision for the reconstruction. Use `1e-6`
1161
+ * for precise feature removal (matches brepjs default); `1e-3` is a
1162
+ * coarser legacy value.
1163
+ */
1164
+ defeature(shape, faces, tolerance) {
1079
1165
  return wrap("defeature", () => {
1080
1166
  const vec = this.#makeVectorU32(faces);
1081
1167
  try {
1082
- return handle(this.#raw.defeature(shape, vec));
1168
+ return handle(this.#raw.defeature(shape, vec, tolerance));
1083
1169
  }
1084
1170
  finally {
1085
1171
  vec.delete();
@@ -1205,12 +1291,12 @@ export class OcctKernel {
1205
1291
  }
1206
1292
  });
1207
1293
  }
1208
- shellWithHistory(solid, faces, thickness, inputFaceHashes, hashUpperBound) {
1294
+ shellWithHistory(solid, faces, thickness, tolerance, inputFaceHashes, hashUpperBound) {
1209
1295
  return wrap("shellWithHistory", () => {
1210
1296
  const faceVec = this.#makeVectorU32(faces);
1211
1297
  const hashes = this.#makeVectorI32(inputFaceHashes);
1212
1298
  try {
1213
- return this.#extractEvolution(this.#raw.shellWithHistory(solid, faceVec, thickness, hashes, hashUpperBound));
1299
+ return this.#extractEvolution(this.#raw.shellWithHistory(solid, faceVec, thickness, tolerance, hashes, hashUpperBound));
1214
1300
  }
1215
1301
  finally {
1216
1302
  faceVec.delete();
@@ -1218,22 +1304,22 @@ export class OcctKernel {
1218
1304
  }
1219
1305
  });
1220
1306
  }
1221
- offsetWithHistory(solid, distance, inputFaceHashes, hashUpperBound) {
1307
+ offsetWithHistory(solid, distance, tolerance, inputFaceHashes, hashUpperBound) {
1222
1308
  return wrap("offsetWithHistory", () => {
1223
1309
  const hashes = this.#makeVectorI32(inputFaceHashes);
1224
1310
  try {
1225
- return this.#extractEvolution(this.#raw.offsetWithHistory(solid, distance, hashes, hashUpperBound));
1311
+ return this.#extractEvolution(this.#raw.offsetWithHistory(solid, distance, tolerance, hashes, hashUpperBound));
1226
1312
  }
1227
1313
  finally {
1228
1314
  hashes.delete();
1229
1315
  }
1230
1316
  });
1231
1317
  }
1232
- thickenWithHistory(shape, thickness, inputFaceHashes, hashUpperBound) {
1318
+ thickenWithHistory(shape, thickness, tolerance, inputFaceHashes, hashUpperBound) {
1233
1319
  return wrap("thickenWithHistory", () => {
1234
1320
  const hashes = this.#makeVectorI32(inputFaceHashes);
1235
1321
  try {
1236
- return this.#extractEvolution(this.#raw.thickenWithHistory(shape, thickness, hashes, hashUpperBound));
1322
+ return this.#extractEvolution(this.#raw.thickenWithHistory(shape, thickness, tolerance, hashes, hashUpperBound));
1237
1323
  }
1238
1324
  finally {
1239
1325
  hashes.delete();
@@ -1320,7 +1406,7 @@ export class OcctKernel {
1320
1406
  /** Return a human-readable summary of a shape for debugging. */
1321
1407
  describe(shape) {
1322
1408
  const type = this.getShapeType(shape);
1323
- const bbox = this.getBoundingBox(shape);
1409
+ const bbox = this.getBoundingBox(shape, true);
1324
1410
  const dims = `[${(bbox.xmax - bbox.xmin).toFixed(2)} x ${(bbox.ymax - bbox.ymin).toFixed(2)} x ${(bbox.zmax - bbox.zmin).toFixed(2)}]`;
1325
1411
  const parts = [`${type} ${dims}`];
1326
1412
  if (type === "solid" || type === "compound" || type === "compsolid") {
@@ -1335,8 +1421,44 @@ export class OcctKernel {
1335
1421
  }
1336
1422
  [Symbol.dispose]() {
1337
1423
  kernelRegistry.unregister(this);
1338
- this.#raw.releaseAll();
1339
- this.#raw.delete();
1424
+ try {
1425
+ this.#raw.releaseAll();
1426
+ this.#raw.delete();
1427
+ }
1428
+ catch {
1429
+ // Raw kernel was already deleted externally (e.g. by an adapter
1430
+ // following Embind teardown conventions) — ignore, matching the
1431
+ // FinalizationRegistry callback's behavior.
1432
+ }
1433
+ }
1434
+ // =======================================================================
1435
+ // Raw module / kernel access (for third-party adapters)
1436
+ // =======================================================================
1437
+ /**
1438
+ * Return the underlying Emscripten module. Intended for integrators who
1439
+ * need to hand the raw module to a third-party adapter (e.g.
1440
+ * `brepjs.OcctWasmAdapter`) without bypassing {@link OcctKernel.init}.
1441
+ *
1442
+ * The module is owned by this `OcctKernel` instance — disposing the
1443
+ * kernel does not invalidate the module reference, but the raw kernel
1444
+ * obtained via {@link getRawKernel} *will* be deleted.
1445
+ */
1446
+ getRawModule() {
1447
+ return this.#module;
1448
+ }
1449
+ /**
1450
+ * Return the underlying raw Embind kernel. Intended for integrators who
1451
+ * need to hand the raw kernel to a third-party adapter (e.g.
1452
+ * `brepjs.OcctWasmAdapter`).
1453
+ *
1454
+ * Lifecycle: the raw kernel is owned by this `OcctKernel`. Calling
1455
+ * `kernel[Symbol.dispose]()` (or letting the FinalizationRegistry collect
1456
+ * the wrapper) will `releaseAll()` and `delete()` the raw kernel — so the
1457
+ * adapter must not outlive the `OcctKernel` it was constructed from.
1458
+ * Do not call `delete()` or `releaseAll()` on the raw kernel directly.
1459
+ */
1460
+ getRawKernel() {
1461
+ return this.#raw;
1340
1462
  }
1341
1463
  // =======================================================================
1342
1464
  // Private helpers
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
Binary file
package/dist/worker.d.ts CHANGED
@@ -44,7 +44,7 @@ export interface OcctWorkerProxy {
44
44
  }, angleRad: number): Promise<ShapeHandle>;
45
45
  fillet(solid: ShapeHandle, edges: ShapeHandle[], radius: number): Promise<ShapeHandle>;
46
46
  chamfer(solid: ShapeHandle, edges: ShapeHandle[], distance: number): Promise<ShapeHandle>;
47
- shell(solid: ShapeHandle, facesToRemove: ShapeHandle[], thickness: number): Promise<ShapeHandle>;
47
+ shell(solid: ShapeHandle, facesToRemove: ShapeHandle[], thickness: number, tolerance: number): Promise<ShapeHandle>;
48
48
  offset(solid: ShapeHandle, distance: number): Promise<ShapeHandle>;
49
49
  draft(shape: ShapeHandle, face: ShapeHandle, angleRad: number, direction: Vec3): Promise<ShapeHandle>;
50
50
  pipe(profile: ShapeHandle, spine: ShapeHandle): Promise<ShapeHandle>;
@@ -96,7 +96,7 @@ export interface OcctWorkerProxy {
96
96
  fromBREP(data: string): Promise<ShapeHandle>;
97
97
  cacheStep(data: string | ArrayBuffer): Promise<string>;
98
98
  loadCached(brep: string): Promise<ShapeHandle>;
99
- getBoundingBox(shape: ShapeHandle): Promise<BoundingBox>;
99
+ getBoundingBox(shape: ShapeHandle, useTriangulation: boolean): Promise<BoundingBox>;
100
100
  getVolume(shape: ShapeHandle): Promise<number>;
101
101
  getSurfaceArea(shape: ShapeHandle): Promise<number>;
102
102
  getLength(shape: ShapeHandle): Promise<number>;
@@ -177,7 +177,7 @@ export declare class OcctWorker {
177
177
  exportStep(shape: ShapeHandle): Promise<string>;
178
178
  cacheStep(data: string | ArrayBuffer): Promise<string>;
179
179
  loadCached(brep: string): Promise<ShapeHandle>;
180
- getBoundingBox(shape: ShapeHandle): Promise<BoundingBox>;
180
+ getBoundingBox(shape: ShapeHandle, useTriangulation: boolean): Promise<BoundingBox>;
181
181
  getVolume(shape: ShapeHandle): Promise<number>;
182
182
  getSurfaceArea(shape: ShapeHandle): Promise<number>;
183
183
  getShapeType(shape: ShapeHandle): Promise<ShapeType>;
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/dist/worker.js CHANGED
@@ -71,7 +71,7 @@ export class OcctWorker {
71
71
  exportStep(shape) { return this.#proxy.exportStep(shape); }
72
72
  cacheStep(data) { return this.#proxy.cacheStep(data); }
73
73
  loadCached(brep) { return this.#proxy.loadCached(brep); }
74
- getBoundingBox(shape) { return this.#proxy.getBoundingBox(shape); }
74
+ getBoundingBox(shape, useTriangulation) { return this.#proxy.getBoundingBox(shape, useTriangulation); }
75
75
  getVolume(shape) { return this.#proxy.getVolume(shape); }
76
76
  getSurfaceArea(shape) { return this.#proxy.getSurfaceArea(shape); }
77
77
  getShapeType(shape) { return this.#proxy.getShapeType(shape); }
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "occt-wasm",
3
- "version": "1.5.0",
3
+ "version": "3.0.0",
4
4
  "description": "OpenCascade (OCCT) compiled to WebAssembly with a clean TypeScript API",
5
5
  "type": "module",
6
6
  "exports": {