brepjs 14.6.9 → 14.8.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.
@@ -0,0 +1,437 @@
1
+ import { BooleanOpType, BooleanOptions, CheckBooleanResult, DiagnosticOperationResult, DistanceResult, KernelAdapter, KernelEdgeMeshResult, KernelInstance, KernelMeshResult, KernelShape, KernelType, MeshOptions, NurbsCurveData, OperationResult, ShapeOrientation, ShapeType, StepAssemblyPart, SurfaceType } from '../types.js';
2
+ import { BulkMeasurement } from '../interfaces/measureOps.js';
3
+ import { TransformEntry } from '../interfaces/transformOps.js';
4
+ import { Curve2dHandle, BBox2dHandle } from '../kernel2dTypes.js';
5
+ import { OcctWasmModule, OcctKernelWasm } from './occtWasmTypes.js';
6
+ export declare class OcctWasmAdapter implements KernelAdapter {
7
+ readonly oc: KernelInstance;
8
+ readonly kernelId = "occt-wasm";
9
+ private readonly Module;
10
+ private readonly k;
11
+ constructor(module: OcctWasmModule, kernel: OcctKernelWasm);
12
+ dispose(h: {
13
+ delete(): void;
14
+ }): void;
15
+ executeBatch(_json: string): string;
16
+ checkpoint(): number;
17
+ checkpointCount(): number;
18
+ restoreCheckpoint(_cp: number): void;
19
+ discardCheckpoint(_cp: number): void;
20
+ makeBox(width: number, height: number, depth: number): KernelShape;
21
+ makeCylinder(radius: number, height: number, center?: [number, number, number], direction?: [number, number, number]): KernelShape;
22
+ makeSphere(radius: number, center?: [number, number, number]): KernelShape;
23
+ makeCone(radius1: number, radius2: number, height: number, center?: [number, number, number], direction?: [number, number, number]): KernelShape;
24
+ makeTorus(majorRadius: number, minorRadius: number, center?: [number, number, number], direction?: [number, number, number]): KernelShape;
25
+ makeEllipsoid(aLength: number, bLength: number, cLength: number): KernelShape;
26
+ makeBoxFromCorners(p1: [number, number, number], p2: [number, number, number]): KernelShape;
27
+ makeRectangle(width: number, height: number): KernelShape;
28
+ fuse(shape: KernelShape, tool: KernelShape, _options?: BooleanOptions): KernelShape;
29
+ cut(shape: KernelShape, tool: KernelShape, _options?: BooleanOptions): KernelShape;
30
+ intersect(shape: KernelShape, tool: KernelShape, _options?: BooleanOptions): KernelShape;
31
+ section(shape: KernelShape, plane: KernelShape, _approximation?: boolean): KernelShape;
32
+ fuseAll(shapes: KernelShape[], _options?: BooleanOptions): KernelShape;
33
+ cutAll(shape: KernelShape, tools: KernelShape[], _options?: BooleanOptions): KernelShape;
34
+ split(shape: KernelShape, tools: KernelShape[]): KernelShape;
35
+ checkBoolean(shape: KernelShape, tool: KernelShape, _op: BooleanOpType): CheckBooleanResult;
36
+ meshBoolean(_positionsA: number[], _indicesA: number[], _positionsB: number[], _indicesB: number[], _op: string, _tolerance: number): KernelMeshResult;
37
+ makeVertex(x: number, y: number, z: number): KernelShape;
38
+ makeEdge(curve: KernelType, _start?: number, _end?: number): KernelShape;
39
+ makeWire(edges: KernelShape[]): KernelShape;
40
+ makeFace(wire: KernelShape, _planar?: boolean): KernelShape;
41
+ makeLineEdge(p1: [number, number, number], p2: [number, number, number]): KernelShape;
42
+ makeCircleEdge(center: [number, number, number], normal: [number, number, number], radius: number): KernelShape;
43
+ makeCircleArc(center: [number, number, number], normal: [number, number, number], radius: number, startAngle: number, endAngle: number): KernelShape;
44
+ makeArcEdge(p1: [number, number, number], p2: [number, number, number], p3: [number, number, number]): KernelShape;
45
+ makeEllipseEdge(center: [number, number, number], normal: [number, number, number], majorRadius: number, minorRadius: number, _xDir?: [number, number, number]): KernelShape;
46
+ makeEllipseArc(center: [number, number, number], normal: [number, number, number], majorRadius: number, minorRadius: number, startAngle: number, endAngle: number, _xDir?: [number, number, number]): KernelShape;
47
+ makeBezierEdge(points: [number, number, number][]): KernelShape;
48
+ makeTangentArc(startPoint: [number, number, number], startTangent: [number, number, number], endPoint: [number, number, number]): KernelShape;
49
+ makeHelixWire(pitch: number, height: number, radius: number, center?: [number, number, number], direction?: [number, number, number], _leftHanded?: boolean): KernelShape;
50
+ makeWireFromMixed(items: KernelShape[]): KernelShape;
51
+ makeCompound(shapes: KernelShape[]): KernelShape;
52
+ solidFromShell(shell: KernelShape): KernelShape;
53
+ hull(_shapes: KernelShape[], _tolerance: number): KernelShape;
54
+ hullFromPoints(points: Array<{
55
+ x: number;
56
+ y: number;
57
+ z: number;
58
+ }>, tolerance: number): KernelShape;
59
+ buildSolidFromFaces(points: Array<{
60
+ x: number;
61
+ y: number;
62
+ z: number;
63
+ }>, faces: Array<readonly [number, number, number]>, tolerance: number): KernelShape;
64
+ makeNonPlanarFace(wire: KernelShape): KernelShape;
65
+ addHolesInFace(face: KernelShape, holeWires: KernelShape[]): KernelShape;
66
+ removeHolesFromFace(face: KernelShape): KernelShape;
67
+ makeFaceOnSurface(surface: KernelType, wire: KernelShape): KernelShape;
68
+ bsplineSurface(points: [number, number, number][], rows: number, cols: number): KernelShape;
69
+ triangulatedSurface(points: [number, number, number][], rows: number, cols: number): KernelShape;
70
+ buildTriFace(a: [number, number, number], b: [number, number, number], c: [number, number, number]): KernelShape | null;
71
+ sewAndSolidify(faces: KernelShape[], tolerance: number): KernelShape;
72
+ createPoint3d(_x: number, _y: number, _z: number): KernelType;
73
+ createDirection3d(x: number, y: number, z: number): KernelType;
74
+ createVector3d(x: number, y: number, z: number): KernelType;
75
+ createAxis1(cx: number, cy: number, cz: number, dx: number, dy: number, dz: number): KernelType;
76
+ createAxis2(ox: number, oy: number, oz: number, zx: number, zy: number, zz: number, xx?: number, xy?: number, xz?: number): KernelType;
77
+ createAxis3(ox: number, oy: number, oz: number, zx: number, zy: number, zz: number, xx?: number, xy?: number, xz?: number): KernelType;
78
+ extrude(face: KernelShape, direction: [number, number, number], length: number): KernelShape;
79
+ revolve(shape: KernelShape, axis: KernelType, angle: number): KernelShape;
80
+ loft(wires: KernelShape[], _ruled?: boolean, _startShape?: KernelShape, _endShape?: KernelShape): KernelShape;
81
+ sweep(wire: KernelShape, spine: KernelShape, options?: {
82
+ transitionMode?: number;
83
+ }): KernelShape;
84
+ simplePipe(profile: KernelShape, spine: KernelShape): KernelShape;
85
+ helicalSweep(_profile: KernelShape, _axisOrigin: [number, number, number], _axisDirection: [number, number, number], _radius: number, _pitch: number, _turns: number): KernelShape;
86
+ sweepWithOptions(_profile: KernelShape, _pathEdge: KernelShape, _contactMode: string, _scaleValues: number[], _segments: number): KernelShape;
87
+ sweepPipeShell(profile: KernelShape, spine: KernelShape, options?: {
88
+ transitionMode?: 'transformed' | 'round' | 'right';
89
+ auxiliary?: KernelShape;
90
+ law?: KernelType;
91
+ contact?: boolean;
92
+ correction?: boolean;
93
+ frenet?: boolean;
94
+ support?: KernelType;
95
+ shellMode?: boolean;
96
+ tolerance?: number | undefined;
97
+ boundTolerance?: number | undefined;
98
+ angularTolerance?: number | undefined;
99
+ maxDegree?: number | undefined;
100
+ maxSegments?: number | undefined;
101
+ }): KernelShape | {
102
+ shape: KernelShape;
103
+ firstShape: KernelShape;
104
+ lastShape: KernelShape;
105
+ };
106
+ loftAdvanced(wires: KernelShape[], options?: {
107
+ solid?: boolean;
108
+ ruled?: boolean;
109
+ tolerance?: number;
110
+ startVertex?: KernelShape;
111
+ endVertex?: KernelShape;
112
+ }): KernelShape;
113
+ buildExtrusionLaw(profile: 'linear' | 's-curve', length: number, endFactor: number): KernelType;
114
+ revolveVec(shape: KernelShape, center: [number, number, number], direction: [number, number, number], angle: number): KernelShape;
115
+ draftPrism(shape: KernelShape, _face: KernelShape, _baseFace: KernelShape, height: number | null, angleDeg: number, _fuse: boolean): KernelShape;
116
+ fillet(shape: KernelShape, edges: KernelShape[], radius: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
117
+ chamfer(shape: KernelShape, edges: KernelShape[], distance: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
118
+ chamferDistAngle(shape: KernelShape, edges: KernelShape[], distance: number, angleDeg: number): KernelShape;
119
+ shell(shape: KernelShape, faces: KernelShape[], thickness: number, _tolerance?: number): KernelShape;
120
+ thicken(shape: KernelShape, thickness: number): KernelShape;
121
+ offset(shape: KernelShape, distance: number, _tolerance?: number): KernelShape;
122
+ filletVariable(shape: KernelShape, spec: string): KernelShape;
123
+ draft(shape: KernelShape, faces: KernelShape[], pullDirection: [number, number, number], _neutralPlane: [number, number, number], angleDeg: number | ((face: KernelShape) => number)): KernelShape;
124
+ defeature(shape: KernelShape, faces: KernelShape[]): KernelShape;
125
+ offsetWire2D(wire: KernelShape, offset: number, joinType?: number | 'arc' | 'intersection' | 'tangent'): KernelShape;
126
+ simplify(shape: KernelShape): KernelShape;
127
+ reverseShape(shape: KernelShape): KernelShape;
128
+ composeTransform(ops: Array<{
129
+ type: 'translate';
130
+ x: number;
131
+ y: number;
132
+ z: number;
133
+ } | {
134
+ type: 'rotate';
135
+ angle: number;
136
+ axis?: readonly [number, number, number] | undefined;
137
+ center?: readonly [number, number, number] | undefined;
138
+ }>): {
139
+ handle: KernelType;
140
+ dispose: () => void;
141
+ };
142
+ transform(shape: KernelShape, trsf: KernelType): KernelShape;
143
+ translate(shape: KernelShape, x: number, y: number, z: number): KernelShape;
144
+ rotate(shape: KernelShape, angle: number, axis?: readonly [number, number, number], center?: readonly [number, number, number]): KernelShape;
145
+ mirror(shape: KernelShape, origin: readonly [number, number, number], normal: readonly [number, number, number]): KernelShape;
146
+ scale(shape: KernelShape, center: readonly [number, number, number], factor: number): KernelShape;
147
+ generalTransform(shape: KernelShape, linear: readonly [number, number, number, number, number, number, number, number, number], translation: readonly [number, number, number], _isOrthogonal: boolean): KernelShape;
148
+ generalTransformNonOrthogonal(shape: KernelShape, linear: readonly [number, number, number, number, number, number, number, number, number], translation: readonly [number, number, number]): KernelShape;
149
+ positionOnCurve(shape: KernelShape, spine: KernelShape, param: number): KernelShape;
150
+ linearPattern(shape: KernelShape, direction: [number, number, number], spacing: number, count: number): KernelShape[];
151
+ circularPattern(shape: KernelShape, center: [number, number, number], axis: [number, number, number], angleStep: number, count: number): KernelShape[];
152
+ transformBatch(entries: TransformEntry[]): KernelShape[];
153
+ translateWithHistory(shape: KernelShape, x: number, y: number, z: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
154
+ rotateWithHistory(shape: KernelShape, angle: number, inputFaceHashes: number[], hashUpperBound: number, axis?: readonly [number, number, number], center?: readonly [number, number, number]): OperationResult;
155
+ mirrorWithHistory(shape: KernelShape, origin: readonly [number, number, number], normal: readonly [number, number, number], inputFaceHashes: number[], hashUpperBound: number): OperationResult;
156
+ scaleWithHistory(shape: KernelShape, center: readonly [number, number, number], factor: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
157
+ generalTransformWithHistory(shape: KernelShape, linear: readonly [number, number, number, number, number, number, number, number, number], translation: readonly [number, number, number], _isOrthogonal: boolean, inputFaceHashes: number[], _hashUpperBound: number): OperationResult;
158
+ fuseWithHistory(shape: KernelShape, tool: KernelShape, inputFaceHashes: number[], hashUpperBound: number, _options?: BooleanOptions): DiagnosticOperationResult;
159
+ cutWithHistory(shape: KernelShape, tool: KernelShape, inputFaceHashes: number[], hashUpperBound: number, _options?: BooleanOptions): DiagnosticOperationResult;
160
+ intersectWithHistory(shape: KernelShape, tool: KernelShape, inputFaceHashes: number[], hashUpperBound: number, _options?: BooleanOptions): DiagnosticOperationResult;
161
+ filletWithHistory(shape: KernelShape, edges: KernelShape[], radius: number | [number, number] | ((edge: KernelShape) => number | [number, number]), inputFaceHashes: number[], hashUpperBound: number): OperationResult;
162
+ chamferWithHistory(shape: KernelShape, edges: KernelShape[], distance: number | [number, number] | ((edge: KernelShape) => number | [number, number]), inputFaceHashes: number[], hashUpperBound: number): OperationResult;
163
+ shellWithHistory(shape: KernelShape, faces: KernelShape[], thickness: number, inputFaceHashes: number[], hashUpperBound: number, _tolerance?: number): OperationResult;
164
+ thickenWithHistory(shape: KernelShape, thickness: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
165
+ offsetWithHistory(shape: KernelShape, distance: number, inputFaceHashes: number[], hashUpperBound: number, _tolerance?: number): OperationResult;
166
+ draftWithHistory(shape: KernelShape, faces: KernelShape[], pullDirection: [number, number, number], _neutralPlane: [number, number, number], angleDeg: number | ((face: KernelShape) => number), _inputFaceHashes: number[], _hashUpperBound: number): OperationResult;
167
+ applyComposedTransformWithHistory(shape: KernelShape, transformHandle: KernelType, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
168
+ mesh(shape: KernelShape, options: MeshOptions): KernelMeshResult;
169
+ meshEdges(shape: KernelShape, tolerance: number, _angularTolerance: number): KernelEdgeMeshResult;
170
+ hasTriangulation(shape: KernelShape): boolean;
171
+ meshShape(shape: KernelShape, tolerance: number, angularTolerance: number): void;
172
+ exportSTEP(shapes: KernelShape[]): string;
173
+ exportSTL(shape: KernelShape, binary?: boolean): string | ArrayBuffer;
174
+ importSTEP(data: string | ArrayBuffer): KernelShape[];
175
+ importSTL(data: string | ArrayBuffer): KernelShape;
176
+ exportIGES(shapes: KernelShape[]): string;
177
+ importIGES(data: string | ArrayBuffer): KernelShape[];
178
+ exportSTEPAssembly(_parts: StepAssemblyPart[], _options?: {
179
+ unit?: string;
180
+ }): string;
181
+ export3MF(_shape: KernelShape, _tolerance: number): ArrayBuffer;
182
+ exportGLB(_shape: KernelShape, _tolerance: number): ArrayBuffer;
183
+ exportOBJ(_shape: KernelShape, _tolerance: number): ArrayBuffer;
184
+ exportPLY(_shape: KernelShape, _tolerance: number): ArrayBuffer;
185
+ import3MF(_data: ArrayBuffer): KernelShape[];
186
+ importOBJ(_data: ArrayBuffer): KernelShape;
187
+ importGLB(_data: ArrayBuffer): KernelShape;
188
+ toBREP(shape: KernelShape): string;
189
+ fromBREP(data: string): KernelShape;
190
+ createXCAFDocument(shapes: Array<{
191
+ shape: KernelShape;
192
+ name: string;
193
+ color?: [number, number, number, number] | undefined;
194
+ }>): KernelType;
195
+ writeXCAFToSTEP(doc: KernelType, _options?: {
196
+ unit?: string | undefined;
197
+ modelUnit?: string | undefined;
198
+ }): string;
199
+ exportSTEPConfigured(_shapes: Array<{
200
+ shape: KernelShape;
201
+ name?: string | undefined;
202
+ color?: [number, number, number, number] | undefined;
203
+ }>, _options?: {
204
+ unit?: string | undefined;
205
+ modelUnit?: string | undefined;
206
+ schema?: number | undefined;
207
+ }): string;
208
+ wrapString(_str: string): KernelType;
209
+ wrapColor(_red: number, _green: number, _blue: number, _alpha: number): KernelType;
210
+ configureStepUnits(_unit: string | undefined, _modelUnit: string | undefined): void;
211
+ configureStepWriter(_writer: KernelType): void;
212
+ volume(shape: KernelShape): number;
213
+ area(shape: KernelShape): number;
214
+ length(shape: KernelShape): number;
215
+ centerOfMass(shape: KernelShape): [number, number, number];
216
+ linearCenterOfMass(shape: KernelShape): [number, number, number];
217
+ boundingBox(shape: KernelShape): {
218
+ min: [number, number, number];
219
+ max: [number, number, number];
220
+ };
221
+ distance(shape1: KernelShape, shape2: KernelShape): DistanceResult;
222
+ surfaceCurvature(face: KernelShape, u: number, v: number): {
223
+ gaussian: number;
224
+ mean: number;
225
+ max: number;
226
+ min: number;
227
+ maxDirection: [number, number, number];
228
+ minDirection: [number, number, number];
229
+ };
230
+ surfaceCenterOfMass(face: KernelShape): [number, number, number];
231
+ measureBulk(shape: KernelShape, includeLinear?: boolean): BulkMeasurement;
232
+ createDistanceQuery(referenceShape: KernelShape): {
233
+ distanceTo(shape: KernelShape): {
234
+ value: number;
235
+ point1: [number, number, number];
236
+ point2: [number, number, number];
237
+ };
238
+ dispose(): void;
239
+ };
240
+ iterShapes(shape: KernelShape, type: ShapeType): KernelShape[];
241
+ iterShapeList(_list: KernelShape, _callback: (item: KernelShape) => void): void;
242
+ shapeType(shape: KernelShape): ShapeType;
243
+ isSame(a: KernelShape, b: KernelShape): boolean;
244
+ isEqual(a: KernelShape, b: KernelShape): boolean;
245
+ downcast(shape: KernelShape, type?: ShapeType): KernelShape;
246
+ hashCode(shape: KernelShape, upperBound: number): number;
247
+ isNull(shape: KernelShape): boolean;
248
+ shapeOrientation(shape: KernelShape): ShapeOrientation;
249
+ edgeToFaceMap(shape: KernelShape): string;
250
+ sharedEdges(faceA: KernelShape, faceB: KernelShape): KernelShape[];
251
+ adjacentFaces(shape: KernelShape, face: KernelShape): KernelShape[];
252
+ sew(shapes: KernelShape[], tolerance?: number): KernelShape;
253
+ curveType(shape: KernelShape): string;
254
+ curveParameters(shape: KernelShape): [number, number];
255
+ curvePointAtParam(shape: KernelShape, param: number): [number, number, number];
256
+ curveTangent(shape: KernelShape, param: number): {
257
+ point: [number, number, number];
258
+ tangent: [number, number, number];
259
+ };
260
+ curveIsClosed(shape: KernelShape): boolean;
261
+ curveIsPeriodic(shape: KernelShape): boolean;
262
+ curvePeriod(_shape: KernelShape): number;
263
+ interpolatePoints(points: [number, number, number][], options?: {
264
+ periodic?: boolean;
265
+ tolerance?: number;
266
+ }): KernelShape;
267
+ approximatePoints(points: [number, number, number][], options?: {
268
+ tolerance?: number;
269
+ degMin?: number;
270
+ degMax?: number;
271
+ smoothing?: [number, number, number] | null;
272
+ }): KernelShape;
273
+ curveDegreeElevate(_edge: KernelShape, _elevateBy: number): KernelShape;
274
+ curveKnotInsert(_edge: KernelShape, _knot: number, _times: number): KernelShape;
275
+ curveKnotRemove(_edge: KernelShape, _knot: number, _tolerance: number): KernelShape;
276
+ curveSplit(_edge: KernelShape, _param: number): [KernelShape, KernelShape];
277
+ createCurveAdaptor(_shape: KernelShape): KernelType;
278
+ getBezierPenultimatePole(_edge: KernelShape): [number, number, number] | null;
279
+ vertexPosition(vertex: KernelShape): [number, number, number];
280
+ surfaceType(face: KernelShape): SurfaceType;
281
+ uvBounds(face: KernelShape): {
282
+ uMin: number;
283
+ uMax: number;
284
+ vMin: number;
285
+ vMax: number;
286
+ };
287
+ outerWire(face: KernelShape): KernelShape;
288
+ surfaceNormal(face: KernelShape, u: number, v: number): [number, number, number];
289
+ pointOnSurface(face: KernelShape, u: number, v: number): [number, number, number];
290
+ uvFromPoint(face: KernelShape, point: [number, number, number]): [number, number] | null;
291
+ projectPointOnFace(face: KernelShape, point: [number, number, number]): [number, number, number];
292
+ classifyPointOnFace(face: KernelShape, u: number, v: number, _tolerance?: number): 'in' | 'on' | 'out';
293
+ classifyPointRobust(_shape: KernelShape, _point: [number, number, number], _tolerance: number): string;
294
+ classifyPointWinding(_shape: KernelShape, _point: [number, number, number], _tolerance: number): string;
295
+ approximateSurfaceLspia(_coords: number[], _rows: number, _cols: number, _degreeU: number, _degreeV: number, _numCpsU: number, _numCpsV: number, _tolerance: number, _maxIterations: number): KernelShape;
296
+ untrimFace(_face: KernelShape, _samplesPerCurve: number, _interiorSamples: number): KernelShape;
297
+ getSurfaceCylinderData(_surface: KernelType): {
298
+ radius: number;
299
+ isDirect: boolean;
300
+ } | null;
301
+ reverseSurfaceU(_surface: KernelType): KernelType;
302
+ detectSmallFeatures(_shape: KernelShape, _areaThreshold: number, _tolerance: number): KernelShape[];
303
+ recognizeFeatures(_shape: KernelShape, _tolerance: number): string;
304
+ projectEdges(shape: KernelShape, cameraOrigin: [number, number, number], cameraDirection: [number, number, number], cameraXAxis?: [number, number, number]): {
305
+ visible: {
306
+ outline: KernelShape;
307
+ smooth: KernelShape;
308
+ sharp: KernelShape;
309
+ };
310
+ hidden: {
311
+ outline: KernelShape;
312
+ smooth: KernelShape;
313
+ sharp: KernelShape;
314
+ };
315
+ };
316
+ isValid(shape: KernelShape): boolean;
317
+ healSolid(shape: KernelShape): KernelShape | null;
318
+ healFace(shape: KernelShape): KernelShape;
319
+ healWire(wire: KernelShape, _face?: KernelShape): KernelShape;
320
+ mergeCoincidentVertices(_shape: KernelShape, _tolerance: number): number;
321
+ removeDegenerateEdges(shape: KernelShape, _tolerance: number): number;
322
+ fixFaceOrientations(shape: KernelShape): number;
323
+ fixShape(shape: KernelShape): KernelShape;
324
+ fixSelfIntersection(_wire: KernelShape): KernelShape;
325
+ createPoint2d(_x: number, _y: number): KernelType;
326
+ createDirection2d(_x: number, _y: number): KernelType;
327
+ createVector2d(_x: number, _y: number): KernelType;
328
+ createAxis2d(px: number, py: number, dx: number, dy: number): KernelType;
329
+ wrapCurve2dHandle(handle: KernelType): Curve2dHandle;
330
+ createCurve2dAdaptor(_handle: Curve2dHandle): KernelType;
331
+ makeLine2d(x1: number, y1: number, x2: number, y2: number): Curve2dHandle;
332
+ makeCircle2d(cx: number, cy: number, radius: number, sense?: boolean): Curve2dHandle;
333
+ makeArc2dThreePoints(x1: number, y1: number, xm: number, ym: number, x2: number, y2: number): Curve2dHandle;
334
+ makeArc2dTangent(startX: number, startY: number, tangentX: number, tangentY: number, endX: number, endY: number): Curve2dHandle;
335
+ makeEllipse2d(cx: number, cy: number, majorRadius: number, minorRadius: number, xDirX?: number, xDirY?: number, sense?: boolean): Curve2dHandle;
336
+ makeEllipseArc2d(cx: number, cy: number, majorRadius: number, minorRadius: number, startAngle: number, endAngle: number, xDirX?: number, xDirY?: number, sense?: boolean): Curve2dHandle;
337
+ makeBezier2d(points: [number, number][]): Curve2dHandle;
338
+ makeBSpline2d(points: [number, number][], _options?: {
339
+ degMin?: number;
340
+ degMax?: number;
341
+ continuity?: 'C0' | 'C1' | 'C2' | 'C3';
342
+ tolerance?: number;
343
+ smoothing?: [number, number, number] | null;
344
+ }): Curve2dHandle;
345
+ evaluateCurve2d(curve: Curve2dHandle, param: number): [number, number];
346
+ evaluateCurve2dD1(curve: Curve2dHandle, param: number): {
347
+ point: [number, number];
348
+ tangent: [number, number];
349
+ };
350
+ getCurve2dBounds(curve: Curve2dHandle): {
351
+ first: number;
352
+ last: number;
353
+ };
354
+ getCurve2dType(curve: Curve2dHandle): string;
355
+ trimCurve2d(curve: Curve2dHandle, start: number, end: number): Curve2dHandle;
356
+ reverseCurve2d(_curve: Curve2dHandle): void;
357
+ copyCurve2d(curve: Curve2dHandle): Curve2dHandle;
358
+ offsetCurve2d(curve: Curve2dHandle, offset: number): Curve2dHandle;
359
+ translateCurve2d(curve: Curve2dHandle, dx: number, dy: number): Curve2dHandle;
360
+ rotateCurve2d(curve: Curve2dHandle, angle: number, cx: number, cy: number): Curve2dHandle;
361
+ scaleCurve2d(curve: Curve2dHandle, factor: number, cx: number, cy: number): Curve2dHandle;
362
+ mirrorCurve2dAtPoint(curve: Curve2dHandle, cx: number, cy: number): Curve2dHandle;
363
+ mirrorCurve2dAcrossAxis(curve: Curve2dHandle, originX: number, originY: number, dirX: number, dirY: number): Curve2dHandle;
364
+ affinityTransform2d(_curve: Curve2dHandle, _axisOriginX: number, _axisOriginY: number, _axisDirX: number, _axisDirY: number, _ratio: number): Curve2dHandle;
365
+ createIdentityGTrsf2d(): KernelType;
366
+ createAffinityGTrsf2d(originX: number, originY: number, dirX: number, dirY: number, ratio: number): KernelType;
367
+ createTranslationGTrsf2d(dx: number, dy: number): KernelType;
368
+ createMirrorGTrsf2d(cx: number, cy: number, mode: 'point' | 'axis', originX?: number, originY?: number, dirX?: number, dirY?: number): KernelType;
369
+ createRotationGTrsf2d(angle: number, cx: number, cy: number): KernelType;
370
+ createScaleGTrsf2d(factor: number, cx: number, cy: number): KernelType;
371
+ setGTrsf2dTranslationPart(gtrsf: KernelType, dx: number, dy: number): void;
372
+ multiplyGTrsf2d(base: KernelType, other: KernelType): void;
373
+ transformCurve2dGeneral(curve: Curve2dHandle, gtrsf: KernelType): Curve2dHandle;
374
+ intersectCurves2d(c1: Curve2dHandle, c2: Curve2dHandle, tolerance: number): {
375
+ points: [number, number][];
376
+ segments: Curve2dHandle[];
377
+ };
378
+ projectPointOnCurve2d(curve: Curve2dHandle, x: number, y: number): {
379
+ param: number;
380
+ distance: number;
381
+ } | null;
382
+ distanceBetweenCurves2d(c1: Curve2dHandle, c2: Curve2dHandle, p1Start: number, p1End: number, p2Start: number, p2End: number): number;
383
+ approximateCurve2dAsBSpline(curve: Curve2dHandle, _tolerance: number, _continuity: 'C0' | 'C1' | 'C2' | 'C3', maxSegments: number): Curve2dHandle;
384
+ decomposeBSpline2dToBeziers(curve: Curve2dHandle): Curve2dHandle[];
385
+ createBoundingBox2d(): BBox2dHandle;
386
+ addCurveToBBox2d(bbox: BBox2dHandle, curve: Curve2dHandle, tolerance: number): void;
387
+ getBBox2dBounds(bbox: BBox2dHandle): {
388
+ xMin: number;
389
+ yMin: number;
390
+ xMax: number;
391
+ yMax: number;
392
+ };
393
+ mergeBBox2d(target: BBox2dHandle, other: BBox2dHandle): void;
394
+ isBBox2dOut(a: BBox2dHandle, b: BBox2dHandle): boolean;
395
+ isBBox2dOutPoint(bbox: BBox2dHandle, x: number, y: number): boolean;
396
+ getCurve2dCircleData(curve: Curve2dHandle): {
397
+ cx: number;
398
+ cy: number;
399
+ radius: number;
400
+ isDirect: boolean;
401
+ } | null;
402
+ getCurve2dEllipseData(curve: Curve2dHandle): {
403
+ majorRadius: number;
404
+ minorRadius: number;
405
+ xAxisAngle: number;
406
+ isDirect: boolean;
407
+ } | null;
408
+ getCurve2dBezierPoles(curve: Curve2dHandle): [number, number][] | null;
409
+ getCurve2dBezierDegree(curve: Curve2dHandle): number | null;
410
+ getCurve2dBSplineData(_curve: Curve2dHandle): {
411
+ poles: [number, number][];
412
+ knots: number[];
413
+ multiplicities: number[];
414
+ degree: number;
415
+ isPeriodic: boolean;
416
+ } | null;
417
+ serializeCurve2d(curve: Curve2dHandle): string;
418
+ deserializeCurve2d(data: string): Curve2dHandle;
419
+ splitCurve2d(curve: Curve2dHandle, params: number[]): Curve2dHandle[];
420
+ liftCurve2dToPlane(curve: Curve2dHandle, planeOrigin: [number, number, number], planeZ: [number, number, number], planeX: [number, number, number]): KernelShape;
421
+ buildEdgeOnSurface(curve: Curve2dHandle, surface: KernelType): KernelShape;
422
+ extractSurfaceFromFace(face: KernelShape): KernelType;
423
+ extractCurve2dFromEdge(_edge: KernelShape, _face: KernelShape): Curve2dHandle;
424
+ buildCurves3d(wire: KernelShape): void;
425
+ fixWireOnFace(wire: KernelShape, face: KernelShape, tolerance: number): KernelShape;
426
+ fillSurface(_wires: KernelShape[], _options?: {
427
+ order?: number;
428
+ nbPtsOnCur?: number;
429
+ nbIter?: number;
430
+ tol3d?: number;
431
+ tol2d?: number;
432
+ maxDeg?: number;
433
+ maxSeg?: number;
434
+ }): KernelShape;
435
+ getNurbsCurveData(edge: KernelShape): NurbsCurveData | null;
436
+ }
437
+ //# sourceMappingURL=occtWasmAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"occtWasmAdapter.d.ts","sourceRoot":"","sources":["../../../src/kernel/occtWasm/occtWasmAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,291 @@
1
+ import { ShapeType } from '../types.js';
2
+ /**
3
+ * Typed wrapper around an occt-wasm u32 arena handle.
4
+ *
5
+ * brepjs passes these around as opaque `KernelShape`. The adapter extracts
6
+ * the `.id` when calling back into the WASM kernel.
7
+ */
8
+ export interface OcctWasmHandle {
9
+ readonly __occtWasm: true;
10
+ readonly type: ShapeType;
11
+ /** Raw u32 arena index. */
12
+ readonly id: number;
13
+ /** No-op -- arena-based allocation doesn't free individual handles. */
14
+ delete(): void;
15
+ /** OCCT-compatible hash code. */
16
+ HashCode(upperBound: number): number;
17
+ /** OCCT-compatible null check. */
18
+ IsNull(): boolean;
19
+ }
20
+ /** MeshData struct returned from tessellate/meshShape. Heap pointers. */
21
+ export interface EmMeshData {
22
+ positionCount: number;
23
+ normalCount: number;
24
+ indexCount: number;
25
+ getPositionsPtr(): number;
26
+ getNormalsPtr(): number;
27
+ getIndicesPtr(): number;
28
+ getFaceGroupsPtr(): number;
29
+ faceGroupCount: number;
30
+ delete(): void;
31
+ }
32
+ /** BBoxData struct returned from getBoundingBox. */
33
+ export interface EmBBoxData {
34
+ xmin: number;
35
+ ymin: number;
36
+ zmin: number;
37
+ xmax: number;
38
+ ymax: number;
39
+ zmax: number;
40
+ }
41
+ /** EdgeData struct returned from wireframe. Heap pointers. */
42
+ export interface EmEdgeData {
43
+ pointCount: number;
44
+ edgeGroupCount: number;
45
+ getPointsPtr(): number;
46
+ getEdgeGroupsPtr(): number;
47
+ delete(): void;
48
+ }
49
+ /** EvolutionData struct returned from *WithHistory methods. */
50
+ export interface EmEvolutionData {
51
+ resultId: number;
52
+ modified: EmVectorInt;
53
+ generated: EmVectorInt;
54
+ deleted: EmVectorInt;
55
+ delete(): void;
56
+ }
57
+ /** ProjectionData struct returned from projectEdges (HLR). */
58
+ export interface EmProjectionData {
59
+ visibleOutline: number;
60
+ visibleSmooth: number;
61
+ visibleSharp: number;
62
+ hiddenOutline: number;
63
+ hiddenSmooth: number;
64
+ hiddenSharp: number;
65
+ }
66
+ /** NurbsCurveData struct returned from getNurbsCurveData. */
67
+ export interface EmNurbsCurveData {
68
+ degree: number;
69
+ rational: boolean;
70
+ periodic: boolean;
71
+ knots: EmVectorDouble;
72
+ multiplicities: EmVectorInt;
73
+ poles: EmVectorDouble;
74
+ weights: EmVectorDouble;
75
+ delete(): void;
76
+ }
77
+ /** Embind std::vector<std::string> wrapper. */
78
+ export interface EmVectorString {
79
+ size(): number;
80
+ get(index: number): string;
81
+ push_back(value: string): void;
82
+ delete(): void;
83
+ }
84
+ /** Embind std::vector<uint32_t> wrapper. */
85
+ export interface EmVectorUint32 {
86
+ size(): number;
87
+ get(index: number): number;
88
+ push_back(value: number): void;
89
+ delete(): void;
90
+ }
91
+ /** Embind std::vector<int> wrapper. */
92
+ export interface EmVectorInt {
93
+ size(): number;
94
+ get(index: number): number;
95
+ push_back(value: number): void;
96
+ delete(): void;
97
+ }
98
+ /** Embind std::vector<double> wrapper. */
99
+ export interface EmVectorDouble {
100
+ size(): number;
101
+ get(index: number): number;
102
+ push_back(value: number): void;
103
+ delete(): void;
104
+ }
105
+ /**
106
+ * Type-safe view of occt-wasm's Embind `OcctKernel` class.
107
+ *
108
+ * All handle parameters and return values are `number` (u32 arena indices).
109
+ */
110
+ export interface OcctKernelWasm {
111
+ release(id: number): void;
112
+ releaseAll(): void;
113
+ getShapeCount(): number;
114
+ makeBox(dx: number, dy: number, dz: number): number;
115
+ makeBoxFromCorners(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
116
+ makeCylinder(radius: number, height: number): number;
117
+ makeSphere(radius: number): number;
118
+ makeCone(r1: number, r2: number, height: number): number;
119
+ makeTorus(majorRadius: number, minorRadius: number): number;
120
+ makeEllipsoid(rx: number, ry: number, rz: number): number;
121
+ makeRectangle(width: number, height: number): number;
122
+ fuse(a: number, b: number): number;
123
+ cut(a: number, b: number): number;
124
+ common(a: number, b: number): number;
125
+ intersect(a: number, b: number): number;
126
+ section(a: number, b: number): number;
127
+ fuseAll(shapeIds: EmVectorUint32): number;
128
+ cutAll(shapeId: number, toolIds: EmVectorUint32): number;
129
+ split(shapeId: number, toolIds: EmVectorUint32): number;
130
+ extrude(shapeId: number, dx: number, dy: number, dz: number): number;
131
+ revolve(shapeId: number, px: number, py: number, pz: number, dx: number, dy: number, dz: number, angleRad: number): number;
132
+ fillet(solidId: number, edgeIds: EmVectorUint32, radius: number): number;
133
+ chamfer(solidId: number, edgeIds: EmVectorUint32, distance: number): number;
134
+ chamferDistAngle(solidId: number, edgeIds: EmVectorUint32, distance: number, angleDeg: number): number;
135
+ shell(solidId: number, faceIds: EmVectorUint32, thickness: number): number;
136
+ offset(solidId: number, distance: number): number;
137
+ draft(shapeId: number, faceId: number, angleRad: number, dx: number, dy: number, dz: number): number;
138
+ pipe(profileId: number, spineId: number): number;
139
+ simplePipe(profileId: number, spineId: number): number;
140
+ loft(wireIds: EmVectorUint32, isSolid: boolean): number;
141
+ loftWithVertices(wireIds: EmVectorUint32, isSolid: boolean, startVertexId: number, endVertexId: number): number;
142
+ sweep(wireId: number, spineId: number, transitionMode: number): number;
143
+ sweepPipeShell(profileId: number, spineId: number, freenet: boolean, smooth: boolean): number;
144
+ draftPrism(shapeId: number, dx: number, dy: number, dz: number, angleDeg: number): number;
145
+ revolveVec(shapeId: number, cx: number, cy: number, cz: number, dx: number, dy: number, dz: number, angle: number): number;
146
+ makeVertex(x: number, y: number, z: number): number;
147
+ makeEdge(v1: number, v2: number): number;
148
+ makeLineEdge(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
149
+ makeCircleEdge(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number): number;
150
+ makeCircleArc(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number, startAngle: number, endAngle: number): number;
151
+ makeArcEdge(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number): number;
152
+ makeEllipseEdge(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, majorRadius: number, minorRadius: number): number;
153
+ makeEllipseArc(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, majorRadius: number, minorRadius: number, startAngle: number, endAngle: number): number;
154
+ makeBezierEdge(flatPoints: EmVectorDouble): number;
155
+ makeTangentArc(x1: number, y1: number, z1: number, tx: number, ty: number, tz: number, x2: number, y2: number, z2: number): number;
156
+ makeHelixWire(px: number, py: number, pz: number, dx: number, dy: number, dz: number, pitch: number, height: number, radius: number): number;
157
+ makeWire(edgeIds: EmVectorUint32): number;
158
+ makeFace(wireId: number): number;
159
+ makeNonPlanarFace(wireId: number): number;
160
+ addHolesInFace(faceId: number, holeWireIds: EmVectorUint32): number;
161
+ removeHolesFromFace(faceId: number, holeIndices: EmVectorInt): number;
162
+ solidFromShell(shellId: number): number;
163
+ makeSolid(shellId: number): number;
164
+ sew(shapeIds: EmVectorUint32, tolerance: number): number;
165
+ sewAndSolidify(faceIds: EmVectorUint32, tolerance: number): number;
166
+ buildSolidFromFaces(faceIds: EmVectorUint32, tolerance: number): number;
167
+ makeCompound(shapeIds: EmVectorUint32): number;
168
+ buildTriFace(ax: number, ay: number, az: number, bx: number, by: number, bz: number, cx: number, cy: number, cz: number): number;
169
+ translate(id: number, dx: number, dy: number, dz: number): number;
170
+ rotate(id: number, px: number, py: number, pz: number, dx: number, dy: number, dz: number, angleRad: number): number;
171
+ scale(id: number, px: number, py: number, pz: number, factor: number): number;
172
+ mirror(id: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number): number;
173
+ copy(id: number): number;
174
+ transform(id: number, matrix: EmVectorDouble): number;
175
+ generalTransform(id: number, matrix: EmVectorDouble): number;
176
+ linearPattern(id: number, dx: number, dy: number, dz: number, spacing: number, count: number): number;
177
+ circularPattern(id: number, cx: number, cy: number, cz: number, ax: number, ay: number, az: number, angle: number, count: number): number;
178
+ composeTransform(m1: EmVectorDouble, m2: EmVectorDouble): EmVectorDouble;
179
+ getShapeType(id: number): string;
180
+ getSubShapes(id: number, shapeType: string): EmVectorUint32;
181
+ downcast(id: number, targetType: string): number;
182
+ distanceBetween(a: number, b: number): number;
183
+ isSame(a: number, b: number): boolean;
184
+ isEqual(a: number, b: number): boolean;
185
+ isNull(id: number): boolean;
186
+ hashCode(id: number, upperBound: number): number;
187
+ shapeOrientation(id: number): string;
188
+ sharedEdges(faceA: number, faceB: number): EmVectorUint32;
189
+ adjacentFaces(shapeId: number, faceId: number): EmVectorUint32;
190
+ iterShapes(id: number): EmVectorUint32;
191
+ edgeToFaceMap(id: number, hashUpperBound: number): EmVectorInt;
192
+ tessellate(id: number, linearDeflection: number, angularDeflection: number): EmMeshData;
193
+ wireframe(id: number, deflection: number): EmEdgeData;
194
+ hasTriangulation(id: number): boolean;
195
+ meshShape(id: number, linearDeflection: number, angularDeflection: number): EmMeshData;
196
+ importStep(data: string): number;
197
+ exportStep(id: number): string;
198
+ importStl(data: string): number;
199
+ importIges(data: string): number;
200
+ exportIges(id: number): string;
201
+ exportStl(id: number, linearDeflection: number, ascii: boolean): string;
202
+ toBREP(id: number): string;
203
+ fromBREP(data: string): number;
204
+ getBoundingBox(id: number): EmBBoxData;
205
+ getVolume(id: number): number;
206
+ getSurfaceArea(id: number): number;
207
+ getLength(id: number): number;
208
+ getCenterOfMass(id: number): EmVectorDouble;
209
+ getLinearCenterOfMass(id: number): EmVectorDouble;
210
+ surfaceCurvature(faceId: number, u: number, v: number): EmVectorDouble;
211
+ vertexPosition(vertexId: number): EmVectorDouble;
212
+ surfaceType(faceId: number): string;
213
+ surfaceNormal(faceId: number, u: number, v: number): EmVectorDouble;
214
+ pointOnSurface(faceId: number, u: number, v: number): EmVectorDouble;
215
+ outerWire(faceId: number): number;
216
+ uvBounds(faceId: number): EmVectorDouble;
217
+ uvFromPoint(faceId: number, x: number, y: number, z: number): EmVectorDouble;
218
+ projectPointOnFace(faceId: number, x: number, y: number, z: number): EmVectorDouble;
219
+ classifyPointOnFace(faceId: number, u: number, v: number): string;
220
+ curveType(edgeId: number): string;
221
+ curvePointAtParam(edgeId: number, param: number): EmVectorDouble;
222
+ curveTangent(edgeId: number, param: number): EmVectorDouble;
223
+ curveParameters(edgeId: number): EmVectorDouble;
224
+ curveIsClosed(edgeId: number): boolean;
225
+ curveIsPeriodic(edgeId: number): boolean;
226
+ curveLength(edgeId: number): number;
227
+ interpolatePoints(flatPoints: EmVectorDouble, periodic: boolean): number;
228
+ approximatePoints(flatPoints: EmVectorDouble, tolerance: number): number;
229
+ projectEdges(shapeId: number, ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, xx: number, xy: number, xz: number, hasXAxis: boolean): EmProjectionData;
230
+ getNurbsCurveData(edgeId: number): EmNurbsCurveData;
231
+ liftCurve2dToPlane(flatPoints2d: EmVectorDouble, planeOx: number, planeOy: number, planeOz: number, planeZx: number, planeZy: number, planeZz: number, planeXx: number, planeXy: number, planeXz: number): number;
232
+ createXCAFDocument(shapeIds: EmVectorUint32, joinedNames: string, flatColors: EmVectorDouble): number;
233
+ writeXCAFToSTEP(docId: number): string;
234
+ bsplineSurface(flatPoints: EmVectorDouble, rows: number, cols: number): number;
235
+ makeFaceOnSurface(faceId: number, wireId: number): number;
236
+ makeNullShape(): number;
237
+ thicken(shapeId: number, thickness: number): number;
238
+ defeature(shapeId: number, faceIds: EmVectorUint32): number;
239
+ reverseShape(id: number): number;
240
+ simplify(id: number): number;
241
+ filletVariable(solidId: number, edgeId: number, startRadius: number, endRadius: number): number;
242
+ offsetWire2D(wireId: number, offset: number, joinType: number): number;
243
+ translateWithHistory(id: number, dx: number, dy: number, dz: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
244
+ fuseWithHistory(a: number, b: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
245
+ cutWithHistory(a: number, b: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
246
+ filletWithHistory(solidId: number, edgeIds: EmVectorUint32, radius: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
247
+ rotateWithHistory(id: number, px: number, py: number, pz: number, dx: number, dy: number, dz: number, angle: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
248
+ mirrorWithHistory(id: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
249
+ scaleWithHistory(id: number, cx: number, cy: number, cz: number, factor: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
250
+ intersectWithHistory(a: number, b: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
251
+ chamferWithHistory(solidId: number, edgeIds: EmVectorUint32, distance: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
252
+ shellWithHistory(solidId: number, faceIds: EmVectorUint32, thickness: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
253
+ offsetWithHistory(solidId: number, distance: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
254
+ thickenWithHistory(shapeId: number, thickness: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
255
+ buildCurves3d(wireId: number): void;
256
+ fixWireOnFace(wireId: number, faceId: number, tolerance: number): number;
257
+ fixShape(id: number): number;
258
+ unifySameDomain(id: number): number;
259
+ isValid(id: number): boolean;
260
+ healSolid(id: number, tolerance: number): number;
261
+ healFace(id: number, tolerance: number): number;
262
+ healWire(id: number, tolerance: number): number;
263
+ fixFaceOrientations(id: number): number;
264
+ removeDegenerateEdges(id: number): number;
265
+ }
266
+ /**
267
+ * Emscripten Module interface for occt-wasm.
268
+ *
269
+ * Provides access to heap views (for reading mesh data from pointers)
270
+ * and Embind vector constructors.
271
+ */
272
+ export interface OcctWasmModule {
273
+ /** Float32 view of WASM linear memory. */
274
+ HEAPF32: Float32Array;
275
+ /** Uint32 view of WASM linear memory. */
276
+ HEAPU32: Uint32Array;
277
+ HEAP32: Int32Array;
278
+ /** Embind std::vector<uint32_t> constructor. */
279
+ VectorUint32: new () => EmVectorUint32;
280
+ /** Embind std::vector<int> constructor. */
281
+ VectorInt: new () => EmVectorInt;
282
+ /** Embind std::vector<double> constructor. */
283
+ VectorDouble: new () => EmVectorDouble;
284
+ /** Embind std::vector<std::string> constructor. */
285
+ VectorString: new () => EmVectorString;
286
+ /** OcctKernel constructor (Embind class). */
287
+ OcctKernel: new () => OcctKernelWasm;
288
+ /** Extract error message from a C++ exception (requires -sEXPORT_EXCEPTION_HANDLING_HELPERS). */
289
+ getExceptionMessage(ex: unknown): [string, string];
290
+ }
291
+ //# sourceMappingURL=occtWasmTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"occtWasmTypes.d.ts","sourceRoot":"","sources":["../../../src/kernel/occtWasm/occtWasmTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,MAAM,IAAI,IAAI,CAAC;IACf,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,kCAAkC;IAClC,MAAM,IAAI,OAAO,CAAC;CACnB;AAMD,yEAAyE;AACzE,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,IAAI,MAAM,CAAC;IAC1B,aAAa,IAAI,MAAM,CAAC;IACxB,aAAa,IAAI,MAAM,CAAC;IACxB,gBAAgB,IAAI,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,oDAAoD;AACpD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,IAAI,MAAM,CAAC;IACvB,gBAAgB,IAAI,MAAM,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,cAAc,EAAE,WAAW,CAAC;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,MAAM,CAAC;IACf,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,MAAM,CAAC;IACf,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,uCAAuC;AACvC,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,MAAM,CAAC;IACf,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,MAAM,CAAC;IACf,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,IAAI,IAAI,CAAC;CAChB;AAMD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAE7B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,IAAI,IAAI,CAAC;IACnB,aAAa,IAAI,MAAM,CAAC;IAGxB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpD,kBAAkB,CAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,MAAM,CAAC;IACV,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACrD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACzD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5D,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAGrD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,OAAO,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;IAC1C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC;IACzD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC;IAGxD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACrE,OAAO,CACL,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC;IACV,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACzE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5E,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC;IACV,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAClD,KAAK,CACH,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,MAAM,CAAC;IAGV,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACvD,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IACxD,gBAAgB,CACd,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC;IACV,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IACvE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9F,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1F,UAAU,CACR,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC;IAGV,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7F,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,MAAM,CAAC;IACV,aAAa,CACX,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC;IACV,WAAW,CACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,MAAM,CAAC;IACV,eAAe,CACb,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC;IACV,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC;IACV,cAAc,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM,CAAC;IACnD,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,MAAM,CAAC;IACV,aAAa,CACX,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAAC;IACV,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,GAAG,MAAM,CAAC;IACpE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC;IACtE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACzD,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACnE,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACxE,YAAY,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;IAC/C,YAAY,CACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,MAAM,CAAC;IAGV,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAClE,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9E,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,MAAM,CAAC;IACV,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC;IACtD,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC;IAC7D,aAAa,CACX,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC;IACV,eAAe,CACb,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC;IACV,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,GAAG,cAAc,CAAC;IAGzE,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9C,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IAC1D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC;IACvC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC;IAG/D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC;IACxF,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC;IACtD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC;IAGvF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAG/B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC;IAC5C,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC;IAClD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAGvE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC;IACjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACpE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACrE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;IACzC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAC7E,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACpF,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGlE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IACjE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IAC5D,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;IAChD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IACzE,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAGzE,YAAY,CACV,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,OAAO,GAChB,gBAAgB,CAAC;IAGpB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAGpD,kBAAkB,CAChB,YAAY,EAAE,cAAc,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,CAAC;IAGV,kBAAkB,CAChB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,cAAc,GACzB,MAAM,CAAC;IACV,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAGvC,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAG1D,aAAa,IAAI,MAAM,CAAC;IAGxB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC;IAC5D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAChG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAGvE,oBAAoB,CAClB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,eAAe,CACb,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,cAAc,CACZ,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,iBAAiB,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,gBAAgB,CACd,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,oBAAoB,CAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,iBAAiB,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IACnB,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,MAAM,GACrB,eAAe,CAAC;IAGnB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAGzE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3C;AAMD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,OAAO,EAAE,YAAY,CAAC;IACtB,yCAAyC;IACzC,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IAEnB,gDAAgD;IAChD,YAAY,EAAE,UAAU,cAAc,CAAC;IACvC,2CAA2C;IAC3C,SAAS,EAAE,UAAU,WAAW,CAAC;IACjC,8CAA8C;IAC9C,YAAY,EAAE,UAAU,cAAc,CAAC;IACvC,mDAAmD;IACnD,YAAY,EAAE,UAAU,cAAc,CAAC;IAEvC,6CAA6C;IAC7C,UAAU,EAAE,UAAU,cAAc,CAAC;IAErC,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "14.6.9",
3
+ "version": "14.8.0",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",
@@ -197,6 +197,7 @@
197
197
  "size": "size-limit",
198
198
  "docs:api": "typedoc",
199
199
  "docs:generate-lookup": "npx tsx scripts/generate-function-lookup.ts",
200
+ "conformance:generate": "npx tsx scripts/generateConformance.ts",
200
201
  "sync:brepkit-types": "npx tsx scripts/sync-brepkit-types.ts",
201
202
  "prepare": "husky && bash scripts/ensure-wasm.sh"
202
203
  },
@@ -214,6 +215,7 @@
214
215
  "husky": "9.1.7",
215
216
  "knip": "6.0.1",
216
217
  "lint-staged": "16.4.0",
218
+ "occt-wasm": "0.1.1",
217
219
  "prettier": "3.8.1",
218
220
  "size-limit": "12.0.1",
219
221
  "typedoc": "0.28.17",