occt-wasm 1.4.0 → 2.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
@@ -12,11 +12,299 @@
12
12
  * kernel.release(box);
13
13
  * ```
14
14
  */
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 PointClassification, type ProjectionData, type ShapeHandle, type ShapeOrientation, type ShapeType, type SurfaceKind, type TessellateOptions, type UVBounds, type Vec3, } from "./types.js";
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";
18
- import type { BoundingBox, CurveKind, CurvatureData, EdgeData, EvolutionData, InitOptions, Mesh, MeshBatchData, NurbsCurveData, PointClassification, ProjectionData, ShapeHandle, ShapeOrientation, ShapeType, SurfaceKind, TessellateOptions, BooleanOp, UVBounds, Vec3 } from "./types.js";
17
+ import { XCAFDocument as XCAFDocumentImpl, type EmscriptenFS } from "./xcaf-document.js";
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): 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): 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): number;
253
+ defeature(shapeId: number, faceIds: EmbindVectorU32): 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, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
268
+ offsetWithHistory(solidId: number, distance: number, inputFaceHashes: EmbindVectorI32, hashUpperBound: number): RawEvolutionData;
269
+ thickenWithHistory(shapeId: number, thickness: 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.
@@ -120,12 +408,26 @@ export declare class OcctKernel {
120
408
  chamfer(solid: ShapeHandle, edges: ShapeHandle[], distance: number): ShapeHandle;
121
409
  chamferDistAngle(solid: ShapeHandle, edges: ShapeHandle[], distance: number, angleDeg: number): ShapeHandle;
122
410
  shell(solid: ShapeHandle, facesToRemove: ShapeHandle[], thickness: number): ShapeHandle;
123
- offset(solid: ShapeHandle, distance: number): ShapeHandle;
411
+ /**
412
+ * Offset all faces of a solid by `distance`.
413
+ *
414
+ * @param tolerance - OCCT precision for the offset reconstruction. Use
415
+ * `1e-6` for precise offsets (matches brepjs default); `1e-3` is a
416
+ * coarser legacy value.
417
+ */
418
+ offset(solid: ShapeHandle, distance: number, tolerance: number): ShapeHandle;
124
419
  draft(shape: ShapeHandle, face: ShapeHandle, angleRad: number, direction: Vec3): ShapeHandle;
125
420
  pipe(profile: ShapeHandle, spine: ShapeHandle): ShapeHandle;
126
421
  simplePipe(profile: ShapeHandle, spine: ShapeHandle): ShapeHandle;
127
- loft(wires: ShapeHandle[], isSolid: boolean): ShapeHandle;
128
- loftWithVertices(wires: ShapeHandle[], isSolid: boolean, startVertex: ShapeHandle, endVertex: ShapeHandle): ShapeHandle;
422
+ /**
423
+ * Loft a solid (or shell) through a sequence of wire profiles.
424
+ *
425
+ * @param ruled - When `true`, sections are joined by ruled (linear)
426
+ * surfaces; when `false`, by smooth B-spline surfaces. The two modes
427
+ * produce dramatically different topology for the same input.
428
+ */
429
+ loft(wires: ShapeHandle[], isSolid: boolean, ruled: boolean): ShapeHandle;
430
+ loftWithVertices(wires: ShapeHandle[], isSolid: boolean, ruled: boolean, startVertex: ShapeHandle, endVertex: ShapeHandle): ShapeHandle;
129
431
  sweep(wire: ShapeHandle, spine: ShapeHandle, transitionMode?: TransitionMode): ShapeHandle;
130
432
  sweepPipeShell(profile: ShapeHandle, spine: ShapeHandle, freenet?: boolean, smooth?: boolean): ShapeHandle;
131
433
  draftPrism(shape: ShapeHandle, dx: number, dy: number, dz: number, angleDeg: number): ShapeHandle;
@@ -173,6 +475,22 @@ export declare class OcctKernel {
173
475
  translateBatch(shapes: ShapeHandle[], offsets: number[]): ShapeHandle[];
174
476
  /** Chain boolean operations in a single WASM call. */
175
477
  booleanPipeline(base: ShapeHandle, opCodes: BooleanOp[], tools: ShapeHandle[]): ShapeHandle;
478
+ /** Query multiple shapes in a single WASM call: bbox, volume, area, center of mass, type, validity. */
479
+ queryBatch(shapes: ShapeHandle[]): ShapeQueryResult[];
480
+ /** Fillet multiple solids in a single WASM call. */
481
+ filletBatch(ops: Array<{
482
+ solid: ShapeHandle;
483
+ edges: ShapeHandle[];
484
+ radius: number;
485
+ }>): ShapeHandle[];
486
+ /** Apply 3x4 affine transforms to multiple shapes in a single WASM call. */
487
+ transformBatch(shapes: ShapeHandle[], matrices: number[]): ShapeHandle[];
488
+ /** Rotate multiple shapes in a single WASM call. */
489
+ rotateBatch(shapes: ShapeHandle[], params: number[]): ShapeHandle[];
490
+ /** Scale multiple shapes in a single WASM call. */
491
+ scaleBatch(shapes: ShapeHandle[], params: number[]): ShapeHandle[];
492
+ /** Mirror multiple shapes in a single WASM call. */
493
+ mirrorBatch(shapes: ShapeHandle[], params: number[]): ShapeHandle[];
176
494
  getShapeType(shape: ShapeHandle): ShapeType;
177
495
  /** True if the shape is a compound. */
178
496
  isCompound(shape: ShapeHandle): boolean;
@@ -218,11 +536,22 @@ export declare class OcctKernel {
218
536
  exportStl(shape: ShapeHandle, linearDeflection?: number, ascii?: boolean): string;
219
537
  toBREP(shape: ShapeHandle): string;
220
538
  fromBREP(data: string): ShapeHandle;
539
+ cacheStep(stepData: string | ArrayBuffer): string;
540
+ loadCached(brep: string): ShapeHandle;
221
541
  getBoundingBox(shape: ShapeHandle): BoundingBox;
222
542
  getVolume(shape: ShapeHandle): number;
223
543
  getSurfaceArea(shape: ShapeHandle): number;
224
544
  getLength(shape: ShapeHandle): number;
225
545
  getCenterOfMass(shape: ShapeHandle): Vec3;
546
+ /**
547
+ * Surface (area-weighted) center of mass for a face. Equivalent to
548
+ * `BRepGProp::SurfaceProperties(face, props).CentreOfMass()`.
549
+ *
550
+ * Use this for face fingerprinting and finder predicates rather than a
551
+ * tessellation-based centroid — for non-planar faces (cylinders, holed
552
+ * planes) the two diverge.
553
+ */
554
+ getSurfaceCenterOfMass(face: ShapeHandle): Vec3;
226
555
  getLinearCenterOfMass(shape: ShapeHandle): Vec3;
227
556
  surfaceCurvature(face: ShapeHandle, u: number, v: number): CurvatureData;
228
557
  vertexPosition(vertex: ShapeHandle): Vec3;
@@ -236,6 +565,17 @@ export declare class OcctKernel {
236
565
  u: number;
237
566
  v: number;
238
567
  };
568
+ /**
569
+ * Extract cylinder data from a cylindrical face.
570
+ *
571
+ * Returns `null` when the face's underlying surface is not a cylinder,
572
+ * otherwise `{ radius, isDirect }` where `isDirect` mirrors
573
+ * `gp_Cylinder::Direct()` (i.e. whether U and V form a right-handed pair).
574
+ */
575
+ getFaceCylinderData(face: ShapeHandle): {
576
+ radius: number;
577
+ isDirect: boolean;
578
+ } | null;
239
579
  /** Project a 3D point onto a face, returning the closest point as Vec3. */
240
580
  projectPointOnFace(face: ShapeHandle, point: Vec3): Vec3;
241
581
  /** Classify a UV point relative to a face boundary. */
@@ -312,5 +652,27 @@ export declare class OcctKernel {
312
652
  /** Return a human-readable summary of a shape for debugging. */
313
653
  describe(shape: ShapeHandle): string;
314
654
  [Symbol.dispose](): void;
655
+ /**
656
+ * Return the underlying Emscripten module. Intended for integrators who
657
+ * need to hand the raw module to a third-party adapter (e.g.
658
+ * `brepjs.OcctWasmAdapter`) without bypassing {@link OcctKernel.init}.
659
+ *
660
+ * The module is owned by this `OcctKernel` instance — disposing the
661
+ * kernel does not invalidate the module reference, but the raw kernel
662
+ * obtained via {@link getRawKernel} *will* be deleted.
663
+ */
664
+ getRawModule(): OcctWasmModule;
665
+ /**
666
+ * Return the underlying raw Embind kernel. Intended for integrators who
667
+ * need to hand the raw kernel to a third-party adapter (e.g.
668
+ * `brepjs.OcctWasmAdapter`).
669
+ *
670
+ * Lifecycle: the raw kernel is owned by this `OcctKernel`. Calling
671
+ * `kernel[Symbol.dispose]()` (or letting the FinalizationRegistry collect
672
+ * the wrapper) will `releaseAll()` and `delete()` the raw kernel — so the
673
+ * adapter must not outlive the `OcctKernel` it was constructed from.
674
+ * Do not call `delete()` or `releaseAll()` on the raw kernel directly.
675
+ */
676
+ getRawKernel(): OcctRawKernel;
315
677
  }
316
678
  //# 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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"}