brepjs 14.6.8 → 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.
Files changed (65) hide show
  1. package/dist/2d.cjs +5 -5
  2. package/dist/2d.js +5 -5
  3. package/dist/{blueprint-CXGeX_im.js → blueprint-BLKzZkxW.js} +5 -5
  4. package/dist/{blueprint-D6P4Ptwc.cjs → blueprint-vVmKMvfa.cjs} +5 -5
  5. package/dist/{blueprintFns-C1Q9BZYN.js → blueprintFns-BaMTtxJe.js} +2 -2
  6. package/dist/{blueprintFns-CRi0AJY2.cjs → blueprintFns-DPSslVJL.cjs} +2 -2
  7. package/dist/{boolean2D-D9bNqIv5.cjs → boolean2D-Co9nkj7F.cjs} +7 -7
  8. package/dist/{boolean2D-COhGEabH.js → boolean2D-CoXCldti.js} +7 -7
  9. package/dist/{booleanFns-Bu_HczH1.cjs → booleanFns-18PG17fJ.cjs} +3 -3
  10. package/dist/{booleanFns-DlfB8aNN.js → booleanFns-Be4tu95v.js} +3 -3
  11. package/dist/brepjs.cjs +19 -19
  12. package/dist/brepjs.js +19 -19
  13. package/dist/core.cjs +1 -1
  14. package/dist/core.js +1 -1
  15. package/dist/{cornerFinder-BqrHP-yL.js → cornerFinder-BxoweqWQ.js} +1 -1
  16. package/dist/{cornerFinder-i4Y7Nrjy.cjs → cornerFinder-Dj00KU4D.cjs} +1 -1
  17. package/dist/{curveFns-D5afgr58.cjs → curveFns-BEoIUi_W.cjs} +1 -1
  18. package/dist/{curveFns-Dlg-98k2.js → curveFns-BL-a8bye.js} +1 -1
  19. package/dist/{drawFns-DUF0fdFG.js → drawFns-CmSkNIJ8.js} +11 -11
  20. package/dist/{drawFns-NPXo-y9x.cjs → drawFns-KYO2AZ10.cjs} +11 -11
  21. package/dist/{extrudeFns-Bs_h53zW.cjs → extrudeFns-D5HbbN3j.cjs} +1 -1
  22. package/dist/{extrudeFns-SjjVWl9I.js → extrudeFns-gjNTbh1v.js} +1 -1
  23. package/dist/{faceFns-D0Sw7UAk.js → faceFns-B0eQeMRl.js} +1 -1
  24. package/dist/{faceFns-CAAlPCSf.cjs → faceFns-BOtIllUV.cjs} +1 -1
  25. package/dist/{helpers-IGblAcXr.cjs → helpers-BcTw9ulW.cjs} +5 -5
  26. package/dist/{helpers-DKA--8Ok.js → helpers-DWxhEPaX.js} +5 -5
  27. package/dist/{historyFns-BLfgf9Ie.cjs → historyFns-D0fh1JbE.cjs} +4 -4
  28. package/dist/{historyFns-DeI_YWq7.js → historyFns-DfSmddHI.js} +4 -4
  29. package/dist/{importFns-DYpRZApj.cjs → importFns-BZyWuPje.cjs} +2 -2
  30. package/dist/{importFns-D_ilQOKc.js → importFns-D6l6ojCY.js} +2 -2
  31. package/dist/io.cjs +2 -2
  32. package/dist/io.js +2 -2
  33. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +437 -0
  34. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts.map +1 -0
  35. package/dist/kernel/occtWasm/occtWasmTypes.d.ts +291 -0
  36. package/dist/kernel/occtWasm/occtWasmTypes.d.ts.map +1 -0
  37. package/dist/{measureFns-C5T3Vj5H.js → measureFns-ekclW7RC.js} +2 -2
  38. package/dist/{measureFns-e9ClVIDp.cjs → measureFns-ziEaFhgs.cjs} +2 -2
  39. package/dist/measurement.cjs +1 -1
  40. package/dist/measurement.js +1 -1
  41. package/dist/{meshFns-D8ArzEky.cjs → meshFns-D_xgh-cq.cjs} +2 -2
  42. package/dist/{meshFns-CwXSu86J.js → meshFns-DzKNEwLn.js} +2 -2
  43. package/dist/operations.cjs +2 -2
  44. package/dist/operations.js +2 -2
  45. package/dist/{primitiveFns-DQA2aRlf.cjs → primitiveFns-BIf2euKF.cjs} +5 -5
  46. package/dist/{primitiveFns-taa6wmE6.js → primitiveFns-Cl6nxjV_.js} +5 -5
  47. package/dist/query.cjs +2 -2
  48. package/dist/query.js +2 -2
  49. package/dist/{shapeFns-Binnq64f.js → shapeFns-B0qsEh-h.js} +2 -2
  50. package/dist/{shapeFns-DGlBwOIn.cjs → shapeFns-BMqU4lpk.cjs} +2 -2
  51. package/dist/shapeRef.cjs +1 -1
  52. package/dist/shapeRef.js +1 -1
  53. package/dist/{shapeRefFns-BHl0cJ03.js → shapeRefFns-BrwSuUBt.js} +3 -3
  54. package/dist/{shapeRefFns-BYsQFoKq.cjs → shapeRefFns-bYjmdd_Q.cjs} +3 -3
  55. package/dist/{shapeTypes-PA31vgl1.cjs → shapeTypes-CCNnCMyK.cjs} +25 -25
  56. package/dist/{shapeTypes-BoaNl7sv.js → shapeTypes-s18kDLub.js} +25 -25
  57. package/dist/sketching.cjs +2 -2
  58. package/dist/sketching.js +2 -2
  59. package/dist/{solidBuilders-CxPr8uf3.js → solidBuilders-Csgxzr_F.js} +2 -2
  60. package/dist/{solidBuilders-fwE4EhPH.cjs → solidBuilders-DwdZPulT.cjs} +2 -2
  61. package/dist/{surfaceBuilders-OZ75pZa7.cjs → surfaceBuilders-Cg9kro6D.cjs} +2 -2
  62. package/dist/{surfaceBuilders-CsgDDyaK.js → surfaceBuilders-DGaOP_Mz.js} +2 -2
  63. package/dist/topology.cjs +6 -6
  64. package/dist/topology.js +6 -6
  65. package/package.json +3 -1
@@ -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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"}