brepjs 9.0.0 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kernel/brepkit2d.d.ts +78 -0
- package/dist/kernel/brepkit2d.d.ts.map +1 -0
- package/dist/kernel/brepkitAdapter.d.ts +439 -0
- package/dist/kernel/brepkitAdapter.d.ts.map +1 -0
- package/dist/kernel/brepkitWasmTypes.d.ts +383 -0
- package/dist/kernel/brepkitWasmTypes.d.ts.map +1 -0
- package/dist/kernel/index.d.ts +2 -0
- package/dist/kernel/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure-TypeScript 2D geometry implementation for brepkit's Kernel2DCapability.
|
|
3
|
+
*
|
|
4
|
+
* All 2D curves are represented as plain objects with a `type` discriminant
|
|
5
|
+
* and `evaluate(t)` method. No WASM boundary crossing required.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
export interface Line2d {
|
|
10
|
+
readonly __bk2d: 'line';
|
|
11
|
+
readonly ox: number;
|
|
12
|
+
readonly oy: number;
|
|
13
|
+
readonly dx: number;
|
|
14
|
+
readonly dy: number;
|
|
15
|
+
}
|
|
16
|
+
export interface Circle2d {
|
|
17
|
+
readonly __bk2d: 'circle';
|
|
18
|
+
readonly cx: number;
|
|
19
|
+
readonly cy: number;
|
|
20
|
+
readonly radius: number;
|
|
21
|
+
readonly sense: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface Ellipse2d {
|
|
24
|
+
readonly __bk2d: 'ellipse';
|
|
25
|
+
readonly cx: number;
|
|
26
|
+
readonly cy: number;
|
|
27
|
+
readonly majorRadius: number;
|
|
28
|
+
readonly minorRadius: number;
|
|
29
|
+
readonly xDirAngle: number;
|
|
30
|
+
readonly sense: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface Bezier2d {
|
|
33
|
+
readonly __bk2d: 'bezier';
|
|
34
|
+
readonly poles: [number, number][];
|
|
35
|
+
}
|
|
36
|
+
export interface BSpline2d {
|
|
37
|
+
readonly __bk2d: 'bspline';
|
|
38
|
+
readonly poles: [number, number][];
|
|
39
|
+
readonly knots: number[];
|
|
40
|
+
readonly multiplicities: number[];
|
|
41
|
+
readonly degree: number;
|
|
42
|
+
readonly isPeriodic: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface TrimmedCurve2d {
|
|
45
|
+
readonly __bk2d: 'trimmed';
|
|
46
|
+
readonly basis: Curve2dObj;
|
|
47
|
+
readonly tStart: number;
|
|
48
|
+
readonly tEnd: number;
|
|
49
|
+
}
|
|
50
|
+
export type Curve2dObj = Line2d | Circle2d | Ellipse2d | Bezier2d | BSpline2d | TrimmedCurve2d;
|
|
51
|
+
export interface BBox2d {
|
|
52
|
+
readonly __bk2d_bbox: true;
|
|
53
|
+
xMin: number;
|
|
54
|
+
yMin: number;
|
|
55
|
+
xMax: number;
|
|
56
|
+
yMax: number;
|
|
57
|
+
}
|
|
58
|
+
export declare function evaluateCurve2d(c: Curve2dObj, t: number): [number, number];
|
|
59
|
+
export declare function tangentCurve2d(c: Curve2dObj, t: number): [number, number];
|
|
60
|
+
export declare function curveBounds(c: Curve2dObj): {
|
|
61
|
+
first: number;
|
|
62
|
+
last: number;
|
|
63
|
+
};
|
|
64
|
+
export declare function curveTypeName(c: Curve2dObj): string;
|
|
65
|
+
export declare function makeLine2d(x1: number, y1: number, x2: number, y2: number): Line2d;
|
|
66
|
+
export declare function makeCircle2d(cx: number, cy: number, radius: number, sense?: boolean): Circle2d;
|
|
67
|
+
export declare function makeEllipse2d(cx: number, cy: number, majorRadius: number, minorRadius: number, xDirX?: number, xDirY?: number, sense?: boolean): Ellipse2d;
|
|
68
|
+
export declare function makeBezier2d(poles: [number, number][]): Bezier2d;
|
|
69
|
+
export declare function translateCurve2d(c: Curve2dObj, dx: number, dy: number): Curve2dObj;
|
|
70
|
+
export declare function rotateCurve2d(c: Curve2dObj, angle: number, cx: number, cy: number): Curve2dObj;
|
|
71
|
+
export declare function scaleCurve2d(c: Curve2dObj, factor: number, cx: number, cy: number): Curve2dObj;
|
|
72
|
+
export declare function mirrorAtPoint(c: Curve2dObj, cx: number, cy: number): Curve2dObj;
|
|
73
|
+
export declare function mirrorAcrossAxis(c: Curve2dObj, ox: number, oy: number, dx: number, dy: number): Curve2dObj;
|
|
74
|
+
export declare function serializeCurve2d(c: Curve2dObj): string;
|
|
75
|
+
export declare function deserializeCurve2d(data: string): Curve2dObj;
|
|
76
|
+
export declare function createBBox2d(): BBox2d;
|
|
77
|
+
export declare function addCurveToBBox(bbox: BBox2d, c: Curve2dObj, _tol: number): void;
|
|
78
|
+
//# sourceMappingURL=brepkit2d.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brepkit2d.d.ts","sourceRoot":"","sources":["../../src/kernel/brepkit2d.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAMH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;AAM/F,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAyB1E;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA0CzE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAc1E;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAenD;AAMD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAWjF;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,UAAO,GAAG,QAAQ,CAE3F;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,SAAI,EACT,KAAK,SAAI,EACT,KAAK,UAAO,GACX,SAAS,CAUX;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,QAAQ,CAEhE;AAMD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAelF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CA+B9F;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAgC9F;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAE/E;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,UAAU,EACb,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,UAAU,CAyCZ;AAMD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAEtD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAE3D;AAMD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAc9E"}
|
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
import { KernelAdapter, KernelMeshResult, KernelEdgeMeshResult, DistanceResult, OperationResult, KernelInstance, KernelShape, KernelType, BooleanOptions, ShapeType, SurfaceType, ShapeOrientation, MeshOptions, StepAssemblyPart } from './types.js';
|
|
2
|
+
import { Curve2dHandle, BBox2dHandle } from './kernel2dTypes.js';
|
|
3
|
+
/**
|
|
4
|
+
* Typed wrapper around a brepkit u32 arena handle.
|
|
5
|
+
*
|
|
6
|
+
* brepjs passes these around as opaque `KernelShape`. The adapter extracts
|
|
7
|
+
* the `.id` and `.type` when calling back into brepkit WASM.
|
|
8
|
+
*/
|
|
9
|
+
export interface BrepkitHandle {
|
|
10
|
+
readonly __brepkit: true;
|
|
11
|
+
readonly type: ShapeType;
|
|
12
|
+
/** Raw u32 arena index. */
|
|
13
|
+
readonly id: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Implements brepjs's {@link KernelAdapter} using brepkit's WASM `BrepKernel`.
|
|
17
|
+
*
|
|
18
|
+
* ## Supported operations (vertical slice 1)
|
|
19
|
+
*
|
|
20
|
+
* - **Primitives**: makeBox, makeCylinder, makeSphere, makeCone, makeTorus
|
|
21
|
+
* - **Booleans**: fuse, cut, intersect, section, fuseAll, cutAll, split
|
|
22
|
+
* - **Transforms**: translate, rotate, mirror, scale, transform, generalTransform
|
|
23
|
+
* - **Modification**: fillet, chamfer, shell, extrude, revolve, loft, sweep
|
|
24
|
+
* - **Meshing**: mesh (with per-face groups), meshEdges (stub)
|
|
25
|
+
* - **Measurement**: volume, area, boundingBox, centerOfMass, length, distance
|
|
26
|
+
* - **I/O**: exportSTEP, importSTEP, exportSTL, importSTL, exportIGES, importIGES
|
|
27
|
+
* - **Topology**: iterShapes, shapeType, hashCode, isNull, vertexPosition
|
|
28
|
+
*
|
|
29
|
+
* ## Not yet implemented
|
|
30
|
+
*
|
|
31
|
+
* - Shape evolution / history tracking (*WithHistory methods)
|
|
32
|
+
* - Kernel2DCapability (2D curves)
|
|
33
|
+
* - Advanced geometry queries (surfaceCurvature, uvBounds, etc.)
|
|
34
|
+
* - Convex hull, projection, BREP serialization
|
|
35
|
+
* - Composed transforms
|
|
36
|
+
*/
|
|
37
|
+
export declare class BrepkitAdapter implements KernelAdapter {
|
|
38
|
+
readonly oc: KernelInstance;
|
|
39
|
+
readonly kernelId = "brepkit";
|
|
40
|
+
/** The underlying brepkit WASM kernel instance (typed). */
|
|
41
|
+
private readonly bk;
|
|
42
|
+
constructor(brepkitKernel: KernelInstance);
|
|
43
|
+
fuse(shape: KernelShape, tool: KernelShape, _options?: BooleanOptions): KernelShape;
|
|
44
|
+
cut(shape: KernelShape, tool: KernelShape, _options?: BooleanOptions): KernelShape;
|
|
45
|
+
intersect(shape: KernelShape, tool: KernelShape, _options?: BooleanOptions): KernelShape;
|
|
46
|
+
section(shape: KernelShape, plane: KernelShape, _approximation?: boolean): KernelShape;
|
|
47
|
+
fuseAll(shapes: KernelShape[], options?: BooleanOptions): KernelShape;
|
|
48
|
+
cutAll(shape: KernelShape, tools: KernelShape[], options?: BooleanOptions): KernelShape;
|
|
49
|
+
split(shape: KernelShape, tools: KernelShape[]): KernelShape;
|
|
50
|
+
hull(shapes: KernelShape[], _tolerance: number): KernelShape;
|
|
51
|
+
hullFromPoints(points: Array<{
|
|
52
|
+
x: number;
|
|
53
|
+
y: number;
|
|
54
|
+
z: number;
|
|
55
|
+
}>, _tolerance: number): KernelShape;
|
|
56
|
+
buildSolidFromFaces(points: Array<{
|
|
57
|
+
x: number;
|
|
58
|
+
y: number;
|
|
59
|
+
z: number;
|
|
60
|
+
}>, faces: Array<readonly [number, number, number]>, tolerance: number): KernelShape;
|
|
61
|
+
makeVertex(x: number, y: number, z: number): KernelShape;
|
|
62
|
+
makeEdge(curve: KernelType, start?: number, end?: number): KernelShape;
|
|
63
|
+
makeWire(edges: KernelShape[]): KernelShape;
|
|
64
|
+
makeFace(wire: KernelShape, _planar?: boolean): KernelShape;
|
|
65
|
+
makeBox(width: number, height: number, depth: number): KernelShape;
|
|
66
|
+
makeCylinder(radius: number, height: number, center?: [number, number, number], direction?: [number, number, number]): KernelShape;
|
|
67
|
+
makeSphere(radius: number, center?: [number, number, number]): KernelShape;
|
|
68
|
+
makeCone(radius1: number, radius2: number, height: number, center?: [number, number, number], direction?: [number, number, number]): KernelShape;
|
|
69
|
+
makeTorus(majorRadius: number, minorRadius: number, center?: [number, number, number], direction?: [number, number, number]): KernelShape;
|
|
70
|
+
makeEllipsoid(aLength: number, bLength: number, cLength: number): KernelShape;
|
|
71
|
+
makeLineEdge(p1: [number, number, number], p2: [number, number, number]): KernelShape;
|
|
72
|
+
makeCircleEdge(center: [number, number, number], normal: [number, number, number], radius: number): KernelShape;
|
|
73
|
+
makeCircleArc(center: [number, number, number], normal: [number, number, number], radius: number, startAngle: number, endAngle: number): KernelShape;
|
|
74
|
+
makeArcEdge(p1: [number, number, number], p2: [number, number, number], p3: [number, number, number]): KernelShape;
|
|
75
|
+
makeEllipseEdge(center: [number, number, number], normal: [number, number, number], majorRadius: number, minorRadius: number, xDir?: [number, number, number]): KernelShape;
|
|
76
|
+
makeEllipseArc(center: [number, number, number], normal: [number, number, number], majorRadius: number, minorRadius: number, startAngle: number, endAngle: number, xDir?: [number, number, number]): KernelShape;
|
|
77
|
+
makeBezierEdge(points: [number, number, number][]): KernelShape;
|
|
78
|
+
makeTangentArc(startPoint: [number, number, number], startTangent: [number, number, number], endPoint: [number, number, number]): KernelShape;
|
|
79
|
+
makeHelixWire(pitch: number, height: number, radius: number, center?: [number, number, number], _direction?: [number, number, number], leftHanded?: boolean): KernelShape;
|
|
80
|
+
makeWireFromMixed(items: KernelShape[]): KernelShape;
|
|
81
|
+
makeCompound(shapes: KernelShape[]): KernelShape;
|
|
82
|
+
makeBoxFromCorners(p1: [number, number, number], p2: [number, number, number]): KernelShape;
|
|
83
|
+
solidFromShell(shell: KernelShape): KernelShape;
|
|
84
|
+
extrude(face: KernelShape, direction: [number, number, number], length: number): KernelShape;
|
|
85
|
+
revolve(shape: KernelShape, axis: KernelType, angle: number): KernelShape;
|
|
86
|
+
revolveVec(shape: KernelShape, center: [number, number, number], direction: [number, number, number], angle: number): KernelShape;
|
|
87
|
+
loft(wires: KernelShape[], _ruled?: boolean, _startShape?: KernelShape, _endShape?: KernelShape): KernelShape;
|
|
88
|
+
sweep(wire: KernelShape, spine: KernelShape, _options?: {
|
|
89
|
+
transitionMode?: number;
|
|
90
|
+
}): KernelShape;
|
|
91
|
+
simplePipe(profile: KernelShape, spine: KernelShape): KernelShape;
|
|
92
|
+
fillet(shape: KernelShape, edges: KernelShape[], radius: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
|
|
93
|
+
chamfer(shape: KernelShape, edges: KernelShape[], distance: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
|
|
94
|
+
chamferDistAngle(shape: KernelShape, edges: KernelShape[], distance: number, angleDeg: number): KernelShape;
|
|
95
|
+
shell(shape: KernelShape, faces: KernelShape[], thickness: number, _tolerance?: number): KernelShape;
|
|
96
|
+
thicken(shape: KernelShape, thickness: number): KernelShape;
|
|
97
|
+
offset(shape: KernelShape, distance: number, _tolerance?: number): KernelShape;
|
|
98
|
+
transform(shape: KernelShape, trsf: KernelType): KernelShape;
|
|
99
|
+
translate(shape: KernelShape, x: number, y: number, z: number): KernelShape;
|
|
100
|
+
rotate(shape: KernelShape, angle: number, axis?: [number, number, number], center?: [number, number, number]): KernelShape;
|
|
101
|
+
mirror(shape: KernelShape, origin: [number, number, number], normal: [number, number, number]): KernelShape;
|
|
102
|
+
scale(shape: KernelShape, center: [number, number, number], factor: number): KernelShape;
|
|
103
|
+
generalTransform(shape: KernelShape, linear: readonly [number, number, number, number, number, number, number, number, number], translation: readonly [number, number, number], _isOrthogonal: boolean): KernelShape;
|
|
104
|
+
generalTransformNonOrthogonal(shape: KernelShape, linear: readonly [number, number, number, number, number, number, number, number, number], translation: readonly [number, number, number]): KernelShape;
|
|
105
|
+
/**
|
|
106
|
+
* Build a ShapeEvolution by comparing input face hashes to output face hashes.
|
|
107
|
+
*
|
|
108
|
+
* For transforms: 1:1 mapping (modified = identity, no generated/deleted).
|
|
109
|
+
* For booleans/modifiers: compare sets to detect changes.
|
|
110
|
+
*/
|
|
111
|
+
private buildEvolution;
|
|
112
|
+
translateWithHistory(shape: KernelShape, x: number, y: number, z: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
113
|
+
rotateWithHistory(shape: KernelShape, angle: number, inputFaceHashes: number[], hashUpperBound: number, axis?: [number, number, number], center?: [number, number, number]): OperationResult;
|
|
114
|
+
mirrorWithHistory(shape: KernelShape, origin: [number, number, number], normal: [number, number, number], inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
115
|
+
scaleWithHistory(shape: KernelShape, center: [number, number, number], factor: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
116
|
+
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;
|
|
117
|
+
fuseWithHistory(shape: KernelShape, tool: KernelShape, inputFaceHashes: number[], hashUpperBound: number, options?: BooleanOptions): OperationResult;
|
|
118
|
+
cutWithHistory(shape: KernelShape, tool: KernelShape, inputFaceHashes: number[], hashUpperBound: number, options?: BooleanOptions): OperationResult;
|
|
119
|
+
intersectWithHistory(shape: KernelShape, tool: KernelShape, inputFaceHashes: number[], hashUpperBound: number, options?: BooleanOptions): OperationResult;
|
|
120
|
+
filletWithHistory(shape: KernelShape, edges: KernelShape[], radius: number | [number, number] | ((edge: KernelShape) => number | [number, number]), inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
121
|
+
chamferWithHistory(shape: KernelShape, edges: KernelShape[], distance: number | [number, number] | ((edge: KernelShape) => number | [number, number]), inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
122
|
+
shellWithHistory(shape: KernelShape, faces: KernelShape[], thickness: number, inputFaceHashes: number[], hashUpperBound: number, tolerance?: number): OperationResult;
|
|
123
|
+
thickenWithHistory(shape: KernelShape, thickness: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
124
|
+
offsetWithHistory(shape: KernelShape, distance: number, inputFaceHashes: number[], hashUpperBound: number, tolerance?: number): OperationResult;
|
|
125
|
+
mesh(shape: KernelShape, options: MeshOptions): KernelMeshResult;
|
|
126
|
+
meshEdges(shape: KernelShape, tolerance: number, _angularTolerance: number): KernelEdgeMeshResult;
|
|
127
|
+
exportSTEP(shapes: KernelShape[]): string;
|
|
128
|
+
exportSTL(shape: KernelShape, binary?: boolean): string | ArrayBuffer;
|
|
129
|
+
importSTEP(data: string | ArrayBuffer): KernelShape[];
|
|
130
|
+
importSTL(data: string | ArrayBuffer): KernelShape;
|
|
131
|
+
exportIGES(shapes: KernelShape[]): string;
|
|
132
|
+
importIGES(data: string | ArrayBuffer): KernelShape[];
|
|
133
|
+
exportSTEPAssembly(parts: StepAssemblyPart[], _options?: {
|
|
134
|
+
unit?: string;
|
|
135
|
+
}): string;
|
|
136
|
+
volume(shape: KernelShape): number;
|
|
137
|
+
area(shape: KernelShape): number;
|
|
138
|
+
length(shape: KernelShape): number;
|
|
139
|
+
centerOfMass(shape: KernelShape): [number, number, number];
|
|
140
|
+
linearCenterOfMass(shape: KernelShape): [number, number, number];
|
|
141
|
+
boundingBox(shape: KernelShape): {
|
|
142
|
+
min: [number, number, number];
|
|
143
|
+
max: [number, number, number];
|
|
144
|
+
};
|
|
145
|
+
iterShapes(shape: KernelShape, type: ShapeType): KernelShape[];
|
|
146
|
+
iterShapeList(list: KernelShape, callback: (item: KernelShape) => void): void;
|
|
147
|
+
shapeType(shape: KernelShape): ShapeType;
|
|
148
|
+
isSame(a: KernelShape, b: KernelShape): boolean;
|
|
149
|
+
isEqual(a: KernelShape, b: KernelShape): boolean;
|
|
150
|
+
downcast(shape: KernelShape, _type?: ShapeType): KernelShape;
|
|
151
|
+
hashCode(shape: KernelShape, upperBound: number): number;
|
|
152
|
+
isNull(shape: KernelShape): boolean;
|
|
153
|
+
shapeOrientation(_shape: KernelShape): ShapeOrientation;
|
|
154
|
+
vertexPosition(vertex: KernelShape): [number, number, number];
|
|
155
|
+
surfaceType(face: KernelShape): SurfaceType;
|
|
156
|
+
uvBounds(face: KernelShape): {
|
|
157
|
+
uMin: number;
|
|
158
|
+
uMax: number;
|
|
159
|
+
vMin: number;
|
|
160
|
+
vMax: number;
|
|
161
|
+
};
|
|
162
|
+
outerWire(face: KernelShape): KernelShape;
|
|
163
|
+
surfaceNormal(face: KernelShape, u: number, v: number): [number, number, number];
|
|
164
|
+
pointOnSurface(face: KernelShape, u: number, v: number): [number, number, number];
|
|
165
|
+
uvFromPoint(face: KernelShape, point: [number, number, number]): [number, number] | null;
|
|
166
|
+
projectPointOnFace(face: KernelShape, point: [number, number, number]): [number, number, number];
|
|
167
|
+
curveTangent(shape: KernelShape, param: number): {
|
|
168
|
+
point: [number, number, number];
|
|
169
|
+
tangent: [number, number, number];
|
|
170
|
+
};
|
|
171
|
+
curveParameters(shape: KernelShape): [number, number];
|
|
172
|
+
curvePointAtParam(shape: KernelShape, param: number): [number, number, number];
|
|
173
|
+
curveIsClosed(shape: KernelShape): boolean;
|
|
174
|
+
curveIsPeriodic(_shape: KernelShape): boolean;
|
|
175
|
+
curvePeriod(_shape: KernelShape): number;
|
|
176
|
+
curveType(shape: KernelShape): string;
|
|
177
|
+
simplify(shape: KernelShape): KernelShape;
|
|
178
|
+
isValid(shape: KernelShape): boolean;
|
|
179
|
+
sew(shapes: KernelShape[], tolerance?: number): KernelShape;
|
|
180
|
+
healSolid(shape: KernelShape): KernelShape | null;
|
|
181
|
+
healFace(shape: KernelShape): KernelShape;
|
|
182
|
+
healWire(wire: KernelShape, _face?: KernelShape): KernelShape;
|
|
183
|
+
offsetWire2D(wire: KernelShape, offset: number, _joinType?: number | 'arc' | 'intersection' | 'tangent'): KernelShape;
|
|
184
|
+
distance(shape1: KernelShape, shape2: KernelShape): DistanceResult;
|
|
185
|
+
classifyPointOnFace(face: KernelShape, u: number, v: number, _tolerance?: number): 'in' | 'on' | 'out';
|
|
186
|
+
interpolatePoints(points: [number, number, number][], _options?: {
|
|
187
|
+
periodic?: boolean;
|
|
188
|
+
tolerance?: number;
|
|
189
|
+
}): KernelShape;
|
|
190
|
+
approximatePoints(points: [number, number, number][], options?: {
|
|
191
|
+
tolerance?: number;
|
|
192
|
+
degMin?: number;
|
|
193
|
+
degMax?: number;
|
|
194
|
+
smoothing?: [number, number, number] | null;
|
|
195
|
+
}): KernelShape;
|
|
196
|
+
toBREP(shape: KernelShape): string;
|
|
197
|
+
fromBREP(data: string): KernelShape;
|
|
198
|
+
hasTriangulation(_shape: KernelShape): boolean;
|
|
199
|
+
meshShape(_shape: KernelShape, _tolerance: number, _angularTolerance: number): void;
|
|
200
|
+
composeTransform(ops: Array<{
|
|
201
|
+
type: 'translate';
|
|
202
|
+
x: number;
|
|
203
|
+
y: number;
|
|
204
|
+
z: number;
|
|
205
|
+
} | {
|
|
206
|
+
type: 'rotate';
|
|
207
|
+
angle: number;
|
|
208
|
+
axis?: [number, number, number];
|
|
209
|
+
center?: [number, number, number];
|
|
210
|
+
}>): {
|
|
211
|
+
handle: KernelType;
|
|
212
|
+
dispose: () => void;
|
|
213
|
+
};
|
|
214
|
+
applyComposedTransformWithHistory(shape: KernelShape, transformHandle: KernelType, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
215
|
+
sweepPipeShell(profile: KernelShape, spine: KernelShape, _options?: Record<string, unknown>): KernelShape | {
|
|
216
|
+
shape: KernelShape;
|
|
217
|
+
firstShape: KernelShape;
|
|
218
|
+
lastShape: KernelShape;
|
|
219
|
+
};
|
|
220
|
+
loftAdvanced(wires: KernelShape[], _options?: {
|
|
221
|
+
solid?: boolean;
|
|
222
|
+
ruled?: boolean;
|
|
223
|
+
startVertex?: KernelShape;
|
|
224
|
+
endVertex?: KernelShape;
|
|
225
|
+
}): KernelShape;
|
|
226
|
+
buildExtrusionLaw(profile: 'linear' | 's-curve', length: number, endFactor: number): KernelType;
|
|
227
|
+
positionOnCurve(shape: KernelShape, spine: KernelShape, param: number): KernelShape;
|
|
228
|
+
linearPattern(shape: KernelShape, direction: [number, number, number], spacing: number, count: number): KernelShape[];
|
|
229
|
+
circularPattern(shape: KernelShape, center: [number, number, number], axis: [number, number, number], angleStep: number, count: number): KernelShape[];
|
|
230
|
+
makeNonPlanarFace(wire: KernelShape): KernelShape;
|
|
231
|
+
addHolesInFace(face: KernelShape, holeWires: KernelShape[]): KernelShape;
|
|
232
|
+
makeFaceOnSurface(_surface: KernelType, wire: KernelShape): KernelShape;
|
|
233
|
+
bsplineSurface(points: [number, number, number][], rows: number, cols: number): KernelShape;
|
|
234
|
+
triangulatedSurface(points: [number, number, number][], rows: number, cols: number): KernelShape;
|
|
235
|
+
buildTriFace(a: [number, number, number], b: [number, number, number], c: [number, number, number]): KernelShape | null;
|
|
236
|
+
sewAndSolidify(faces: KernelShape[], tolerance: number): KernelShape;
|
|
237
|
+
fixShape(shape: KernelShape): KernelShape;
|
|
238
|
+
fixSelfIntersection(wire: KernelShape): KernelShape;
|
|
239
|
+
surfaceCurvature(face: KernelShape, u: number, v: number): {
|
|
240
|
+
gaussian: number;
|
|
241
|
+
mean: number;
|
|
242
|
+
max: number;
|
|
243
|
+
min: number;
|
|
244
|
+
maxDirection: [number, number, number];
|
|
245
|
+
minDirection: [number, number, number];
|
|
246
|
+
};
|
|
247
|
+
surfaceCenterOfMass(face: KernelShape): [number, number, number];
|
|
248
|
+
createDistanceQuery(referenceShape: KernelShape): {
|
|
249
|
+
distanceTo(shape: KernelShape): {
|
|
250
|
+
value: number;
|
|
251
|
+
point1: [number, number, number];
|
|
252
|
+
point2: [number, number, number];
|
|
253
|
+
};
|
|
254
|
+
dispose(): void;
|
|
255
|
+
};
|
|
256
|
+
projectEdges(shape: KernelShape, _cameraOrigin: [number, number, number], _cameraDirection: [number, number, number], _cameraXAxis?: [number, number, number]): {
|
|
257
|
+
visible: {
|
|
258
|
+
outline: KernelShape;
|
|
259
|
+
smooth: KernelShape;
|
|
260
|
+
sharp: KernelShape;
|
|
261
|
+
};
|
|
262
|
+
hidden: {
|
|
263
|
+
outline: KernelShape;
|
|
264
|
+
smooth: KernelShape;
|
|
265
|
+
sharp: KernelShape;
|
|
266
|
+
};
|
|
267
|
+
};
|
|
268
|
+
draftPrism(shape: KernelShape, face: KernelShape, _baseFace: KernelShape, height: number | null, _angleDeg: number, fuse: boolean): KernelShape;
|
|
269
|
+
createXCAFDocument(shapes: Array<{
|
|
270
|
+
shape: KernelShape;
|
|
271
|
+
name: string;
|
|
272
|
+
color?: [number, number, number, number];
|
|
273
|
+
}>): KernelType;
|
|
274
|
+
writeXCAFToSTEP(doc: KernelType, _options?: {
|
|
275
|
+
unit?: string;
|
|
276
|
+
modelUnit?: string;
|
|
277
|
+
}): string;
|
|
278
|
+
exportSTEPConfigured(shapes: Array<{
|
|
279
|
+
shape: KernelShape;
|
|
280
|
+
name?: string;
|
|
281
|
+
color?: [number, number, number, number];
|
|
282
|
+
}>, _options?: {
|
|
283
|
+
unit?: string;
|
|
284
|
+
modelUnit?: string;
|
|
285
|
+
schema?: number;
|
|
286
|
+
}): string;
|
|
287
|
+
wrapString(str: string): KernelType;
|
|
288
|
+
wrapColor(red: number, green: number, blue: number, alpha: number): KernelType;
|
|
289
|
+
configureStepUnits(_unit: string | undefined, _modelUnit: string | undefined): void;
|
|
290
|
+
configureStepWriter(_writer: KernelType): void;
|
|
291
|
+
createCurveAdaptor(shape: KernelShape): KernelType;
|
|
292
|
+
getBezierPenultimatePole(edge: KernelShape): [number, number, number] | null;
|
|
293
|
+
getSurfaceCylinderData(surface: KernelType): {
|
|
294
|
+
radius: number;
|
|
295
|
+
isDirect: boolean;
|
|
296
|
+
} | null;
|
|
297
|
+
reverseSurfaceU(surface: KernelType): KernelType;
|
|
298
|
+
createPoint3d(x: number, y: number, z: number): KernelType;
|
|
299
|
+
createDirection3d(x: number, y: number, z: number): KernelType;
|
|
300
|
+
createVector3d(x: number, y: number, z: number): KernelType;
|
|
301
|
+
createAxis1(cx: number, cy: number, cz: number, dx: number, dy: number, dz: number): KernelType;
|
|
302
|
+
createAxis2(ox: number, oy: number, oz: number, zx: number, zy: number, zz: number, xx?: number, xy?: number, xz?: number): KernelType;
|
|
303
|
+
createAxis3(ox: number, oy: number, oz: number, zx: number, zy: number, zz: number, xx?: number, xy?: number, xz?: number): KernelType;
|
|
304
|
+
reverseShape(shape: KernelShape): KernelShape;
|
|
305
|
+
dispose(_handle: {
|
|
306
|
+
delete(): void;
|
|
307
|
+
}): void;
|
|
308
|
+
private c2d;
|
|
309
|
+
private bb2d;
|
|
310
|
+
createPoint2d(x: number, y: number): KernelType;
|
|
311
|
+
createDirection2d(x: number, y: number): KernelType;
|
|
312
|
+
createVector2d(x: number, y: number): KernelType;
|
|
313
|
+
createAxis2d(px: number, py: number, dx: number, dy: number): KernelType;
|
|
314
|
+
wrapCurve2dHandle(handle: KernelType): Curve2dHandle;
|
|
315
|
+
createCurve2dAdaptor(handle: Curve2dHandle): KernelType;
|
|
316
|
+
makeLine2d(x1: number, y1: number, x2: number, y2: number): Curve2dHandle;
|
|
317
|
+
makeCircle2d(cx: number, cy: number, radius: number, sense?: boolean): Curve2dHandle;
|
|
318
|
+
makeArc2dThreePoints(x1: number, y1: number, xm: number, ym: number, x2: number, y2: number): Curve2dHandle;
|
|
319
|
+
makeArc2dTangent(sx: number, sy: number, tx: number, ty: number, ex: number, ey: number): Curve2dHandle;
|
|
320
|
+
makeEllipse2d(cx: number, cy: number, major: number, minor: number, xDirX?: number, xDirY?: number, sense?: boolean): Curve2dHandle;
|
|
321
|
+
makeEllipseArc2d(cx: number, cy: number, major: number, minor: number, start: number, end: number, xDirX?: number, xDirY?: number, sense?: boolean): Curve2dHandle;
|
|
322
|
+
makeBezier2d(points: [number, number][]): Curve2dHandle;
|
|
323
|
+
makeBSpline2d(points: [number, number][], _options?: Record<string, unknown>): Curve2dHandle;
|
|
324
|
+
evaluateCurve2d(curve: Curve2dHandle, param: number): [number, number];
|
|
325
|
+
evaluateCurve2dD1(curve: Curve2dHandle, param: number): {
|
|
326
|
+
point: [number, number];
|
|
327
|
+
tangent: [number, number];
|
|
328
|
+
};
|
|
329
|
+
getCurve2dBounds(curve: Curve2dHandle): {
|
|
330
|
+
first: number;
|
|
331
|
+
last: number;
|
|
332
|
+
};
|
|
333
|
+
getCurve2dType(curve: Curve2dHandle): string;
|
|
334
|
+
trimCurve2d(curve: Curve2dHandle, start: number, end: number): Curve2dHandle;
|
|
335
|
+
reverseCurve2d(_curve: Curve2dHandle): void;
|
|
336
|
+
copyCurve2d(curve: Curve2dHandle): Curve2dHandle;
|
|
337
|
+
offsetCurve2d(curve: Curve2dHandle, offset: number): Curve2dHandle;
|
|
338
|
+
translateCurve2d(curve: Curve2dHandle, dx: number, dy: number): Curve2dHandle;
|
|
339
|
+
rotateCurve2d(curve: Curve2dHandle, angle: number, cx: number, cy: number): Curve2dHandle;
|
|
340
|
+
scaleCurve2d(curve: Curve2dHandle, factor: number, cx: number, cy: number): Curve2dHandle;
|
|
341
|
+
mirrorCurve2dAtPoint(curve: Curve2dHandle, cx: number, cy: number): Curve2dHandle;
|
|
342
|
+
mirrorCurve2dAcrossAxis(curve: Curve2dHandle, ox: number, oy: number, dx: number, dy: number): Curve2dHandle;
|
|
343
|
+
affinityTransform2d(curve: Curve2dHandle, ox: number, oy: number, dx: number, dy: number, ratio: number): Curve2dHandle;
|
|
344
|
+
createIdentityGTrsf2d(): KernelType;
|
|
345
|
+
createAffinityGTrsf2d(ox: number, oy: number, dx: number, dy: number, ratio: number): KernelType;
|
|
346
|
+
createTranslationGTrsf2d(dx: number, dy: number): KernelType;
|
|
347
|
+
createMirrorGTrsf2d(cx: number, cy: number, mode: 'point' | 'axis', ox?: number, oy?: number, dx?: number, dy?: number): KernelType;
|
|
348
|
+
createRotationGTrsf2d(angle: number, cx: number, cy: number): KernelType;
|
|
349
|
+
createScaleGTrsf2d(factor: number, cx: number, cy: number): KernelType;
|
|
350
|
+
setGTrsf2dTranslationPart(gtrsf: KernelType, dx: number, dy: number): void;
|
|
351
|
+
multiplyGTrsf2d(base: KernelType, other: KernelType): void;
|
|
352
|
+
transformCurve2dGeneral(curve: Curve2dHandle, gtrsf: KernelType): Curve2dHandle;
|
|
353
|
+
intersectCurves2d(_c1: Curve2dHandle, _c2: Curve2dHandle, _tolerance: number): {
|
|
354
|
+
points: [number, number][];
|
|
355
|
+
segments: Curve2dHandle[];
|
|
356
|
+
};
|
|
357
|
+
projectPointOnCurve2d(curve: Curve2dHandle, x: number, y: number): {
|
|
358
|
+
param: number;
|
|
359
|
+
distance: number;
|
|
360
|
+
} | null;
|
|
361
|
+
distanceBetweenCurves2d(c1: Curve2dHandle, c2: Curve2dHandle, p1s: number, p1e: number, p2s: number, p2e: number): number;
|
|
362
|
+
approximateCurve2dAsBSpline(curve: Curve2dHandle, _tol: number, _cont: 'C0' | 'C1' | 'C2' | 'C3', _maxSeg: number): Curve2dHandle;
|
|
363
|
+
decomposeBSpline2dToBeziers(curve: Curve2dHandle): Curve2dHandle[];
|
|
364
|
+
createBoundingBox2d(): BBox2dHandle;
|
|
365
|
+
addCurveToBBox2d(bbox: BBox2dHandle, curve: Curve2dHandle, tol: number): void;
|
|
366
|
+
getBBox2dBounds(bbox: BBox2dHandle): {
|
|
367
|
+
xMin: number;
|
|
368
|
+
yMin: number;
|
|
369
|
+
xMax: number;
|
|
370
|
+
yMax: number;
|
|
371
|
+
};
|
|
372
|
+
mergeBBox2d(target: BBox2dHandle, other: BBox2dHandle): void;
|
|
373
|
+
isBBox2dOut(a: BBox2dHandle, b: BBox2dHandle): boolean;
|
|
374
|
+
isBBox2dOutPoint(bbox: BBox2dHandle, x: number, y: number): boolean;
|
|
375
|
+
getCurve2dCircleData(curve: Curve2dHandle): {
|
|
376
|
+
cx: number;
|
|
377
|
+
cy: number;
|
|
378
|
+
radius: number;
|
|
379
|
+
isDirect: boolean;
|
|
380
|
+
} | null;
|
|
381
|
+
getCurve2dEllipseData(curve: Curve2dHandle): {
|
|
382
|
+
majorRadius: number;
|
|
383
|
+
minorRadius: number;
|
|
384
|
+
xAxisAngle: number;
|
|
385
|
+
isDirect: boolean;
|
|
386
|
+
} | null;
|
|
387
|
+
getCurve2dBezierPoles(curve: Curve2dHandle): [number, number][] | null;
|
|
388
|
+
getCurve2dBezierDegree(curve: Curve2dHandle): number | null;
|
|
389
|
+
getCurve2dBSplineData(curve: Curve2dHandle): {
|
|
390
|
+
poles: [number, number][];
|
|
391
|
+
knots: number[];
|
|
392
|
+
multiplicities: number[];
|
|
393
|
+
degree: number;
|
|
394
|
+
isPeriodic: boolean;
|
|
395
|
+
} | null;
|
|
396
|
+
serializeCurve2d(curve: Curve2dHandle): string;
|
|
397
|
+
deserializeCurve2d(data: string): Curve2dHandle;
|
|
398
|
+
splitCurve2d(curve: Curve2dHandle, params: number[]): Curve2dHandle[];
|
|
399
|
+
liftCurve2dToPlane(curve: Curve2dHandle, origin: [number, number, number], _z: [number, number, number], x: [number, number, number]): KernelShape;
|
|
400
|
+
buildEdgeOnSurface(curve: Curve2dHandle, surface: KernelType): KernelShape;
|
|
401
|
+
extractSurfaceFromFace(face: KernelShape): KernelType;
|
|
402
|
+
extractCurve2dFromEdge(edge: KernelShape, _face: KernelShape): Curve2dHandle;
|
|
403
|
+
buildCurves3d(_wire: KernelShape): void;
|
|
404
|
+
fixWireOnFace(wire: KernelShape, _face: KernelShape, _tolerance: number): KernelShape;
|
|
405
|
+
fillSurface(wires: KernelShape[], _options?: Record<string, unknown>): KernelShape;
|
|
406
|
+
/** Copy a shape, then apply a 4×4 row-major matrix transform. */
|
|
407
|
+
private applyMatrix;
|
|
408
|
+
/** Check if we need to transform from default placement (origin, +Z). */
|
|
409
|
+
private needsTransform;
|
|
410
|
+
/** Transform a shape from default placement (origin, +Z) to the given center and direction. */
|
|
411
|
+
private transformToPlacement;
|
|
412
|
+
/** Tessellate a solid with per-face groups for brepjs mesh format. */
|
|
413
|
+
private meshSolid;
|
|
414
|
+
/** Tessellate a single face and return brepjs mesh format. */
|
|
415
|
+
private meshSingleFace;
|
|
416
|
+
/**
|
|
417
|
+
* Create a NURBS circle/arc edge in 3D.
|
|
418
|
+
*
|
|
419
|
+
* Uses the rational quadratic B-spline circle representation:
|
|
420
|
+
* 9-point circle for full 2π, fewer arcs for partial.
|
|
421
|
+
*/
|
|
422
|
+
private makeCircleNurbs;
|
|
423
|
+
/**
|
|
424
|
+
* Extract NURBS curve data from an edge handle.
|
|
425
|
+
* Returns null for line edges (caller can build a linear NURBS).
|
|
426
|
+
* Returns {degree, knots, controlPoints, weights} for NURBS edges.
|
|
427
|
+
*/
|
|
428
|
+
private extractNurbsFromEdge;
|
|
429
|
+
/**
|
|
430
|
+
* Create a NURBS ellipse/ellipse-arc edge in 3D.
|
|
431
|
+
*/
|
|
432
|
+
private makeEllipseNurbs;
|
|
433
|
+
/**
|
|
434
|
+
* Extract a plane definition (point + normal) from a face handle.
|
|
435
|
+
* Uses tessellation to find a concrete point on the face.
|
|
436
|
+
*/
|
|
437
|
+
private extractPlaneFromFace;
|
|
438
|
+
}
|
|
439
|
+
//# sourceMappingURL=brepkitAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brepkitAdapter.d.ts","sourceRoot":"","sources":["../../src/kernel/brepkitAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-safe interface for the brepkit WASM kernel (`BrepKernel`).
|
|
3
|
+
*
|
|
4
|
+
* This mirrors the Rust `BrepKernel` struct's `#[wasm_bindgen]` exports.
|
|
5
|
+
* Every `this.bk.*` call in `brepkitAdapter.ts` is typed here so TypeScript
|
|
6
|
+
* catches mismatches at compile time.
|
|
7
|
+
*
|
|
8
|
+
* Methods not yet exposed by the WASM build are marked **optional** (`?`).
|
|
9
|
+
* Callers must guard with `typeof this.bk.method === 'function'` before use.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
/** Triangle mesh returned by `tessellateFace` / `tessellateSolid`. */
|
|
14
|
+
export interface BrepkitMesh {
|
|
15
|
+
/** Flattened vertex positions `[x, y, z, ...]`. */
|
|
16
|
+
readonly positions: number[];
|
|
17
|
+
/** Flattened per-vertex normals `[nx, ny, nz, ...]`. */
|
|
18
|
+
readonly normals: number[];
|
|
19
|
+
/** Triangle indices (groups of 3). */
|
|
20
|
+
readonly indices: number[];
|
|
21
|
+
/** Number of vertices. */
|
|
22
|
+
readonly vertexCount: number;
|
|
23
|
+
/** Number of triangles. */
|
|
24
|
+
readonly triangleCount: number;
|
|
25
|
+
/** All mesh data in a single packed buffer for efficient FFI transfer. */
|
|
26
|
+
packedBuffer(): Uint8Array;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Type-safe view of brepkit's WASM `BrepKernel` class.
|
|
30
|
+
*
|
|
31
|
+
* All handle parameters and return values are `number` (u32 arena indices).
|
|
32
|
+
* Coordinate arrays are flat `number[]` (`[x,y,z, ...]`).
|
|
33
|
+
* Matrices are 16-element row-major `number[]`.
|
|
34
|
+
*/
|
|
35
|
+
export interface BrepkitKernel {
|
|
36
|
+
/** Create a box solid centered at origin. Returns solid handle. */
|
|
37
|
+
makeBox(dx: number, dy: number, dz: number): number;
|
|
38
|
+
/** Create a cylinder solid, axis along +Z. Returns solid handle. */
|
|
39
|
+
makeCylinder(radius: number, height: number): number;
|
|
40
|
+
/** Create a sphere solid centered at origin. Returns solid handle. */
|
|
41
|
+
makeSphere(radius: number, segments: number): number;
|
|
42
|
+
/** Create a cone/frustum solid, axis along +Z. Returns solid handle. */
|
|
43
|
+
makeCone(bottomRadius: number, topRadius: number, height: number): number;
|
|
44
|
+
/** Create a torus solid in XY plane. Returns solid handle. */
|
|
45
|
+
makeTorus(majorRadius: number, minorRadius: number, segments: number): number;
|
|
46
|
+
/** Create a rectangular face centered at origin in XY. Returns face handle. */
|
|
47
|
+
makeRectangle(width: number, height: number): number;
|
|
48
|
+
/** Create a polygonal face from flat coords `[x,y,z,...]`. Returns face handle. */
|
|
49
|
+
makePolygon(coords: number[]): number;
|
|
50
|
+
/** Create a circular polygon face in XY. Returns face handle. */
|
|
51
|
+
makeCircle(radius: number, segments: number): number;
|
|
52
|
+
/** Create a vertex at (x,y,z). Returns vertex handle. */
|
|
53
|
+
makeVertex(x: number, y: number, z: number): number;
|
|
54
|
+
/** Create a line edge between two points. Returns edge handle. */
|
|
55
|
+
makeLineEdge(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
|
|
56
|
+
/** Create a NURBS curve edge. Returns edge handle. */
|
|
57
|
+
makeNurbsEdge(startX: number, startY: number, startZ: number, endX: number, endY: number, endZ: number, degree: number, knots: number[], controlPoints: number[], weights: number[]): number;
|
|
58
|
+
/** Create a wire from ordered edge handles. Returns wire handle. */
|
|
59
|
+
makeWire(edgeHandles: number[], closed: boolean): number;
|
|
60
|
+
/** Create a planar face from a wire. Returns face handle. */
|
|
61
|
+
makeFaceFromWire(wire: number): number;
|
|
62
|
+
/** Create a solid from a shell. Returns solid handle. */
|
|
63
|
+
solidFromShell(shell: number): number;
|
|
64
|
+
/** Create a compound from solid handles. Returns compound handle. */
|
|
65
|
+
makeCompound(solidHandles: number[]): number;
|
|
66
|
+
/** Create a closed polygon wire from flat coords. Returns wire handle. */
|
|
67
|
+
makePolygonWire(coords: number[]): number;
|
|
68
|
+
/** Create a regular polygon wire in XY. Returns wire handle. */
|
|
69
|
+
makeRegularPolygonWire(radius: number, nSides: number): number;
|
|
70
|
+
/** Create a circle face using NURBS arcs. Returns face handle. */
|
|
71
|
+
makeCircleFace(radius: number, segments: number): number;
|
|
72
|
+
/** Add holes (inner wires) to a face. Returns new face handle. */
|
|
73
|
+
addHolesToFace(face: number, wireIds: number[]): number;
|
|
74
|
+
/** Fuse (union) two solids. Returns new solid handle. */
|
|
75
|
+
fuse(a: number, b: number): number;
|
|
76
|
+
/** Cut (subtract) solid b from a. Returns new solid handle. */
|
|
77
|
+
cut(a: number, b: number): number;
|
|
78
|
+
/** Intersect two solids. Returns new solid handle. */
|
|
79
|
+
intersect(a: number, b: number): number;
|
|
80
|
+
/** Extrude a face along direction. Returns solid handle. */
|
|
81
|
+
extrude(face: number, dirX: number, dirY: number, dirZ: number, distance: number): number;
|
|
82
|
+
/**
|
|
83
|
+
* Revolve a face around an axis. Angle in degrees.
|
|
84
|
+
* Returns solid handle.
|
|
85
|
+
*/
|
|
86
|
+
revolve(face: number, ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, angleDegrees: number): number;
|
|
87
|
+
/** Sweep a face along a NURBS path. Returns solid handle. */
|
|
88
|
+
sweep(face: number, pathDegree: number, pathKnots: number[], pathControlPoints: number[], pathWeights: number[]): number;
|
|
89
|
+
/** Loft through an array of face profiles. Returns solid handle. */
|
|
90
|
+
loft(faceIds: number[]): number;
|
|
91
|
+
/** Pipe sweep along a NURBS path. Returns solid handle. */
|
|
92
|
+
pipe(face: number, pathDegree: number, pathKnots: number[], pathControlPoints: number[], pathWeights: number[]): number;
|
|
93
|
+
/** Sweep a face along edge handles. Returns solid handle. */
|
|
94
|
+
sweepAlongEdges(profile: number, edgeIds: number[]): number;
|
|
95
|
+
/** Helical sweep of a profile. Returns solid handle. */
|
|
96
|
+
helicalSweep(profile: number, axisOriginX: number, axisOriginY: number, axisOriginZ: number, axisDirX: number, axisDirY: number, axisDirZ: number, radius: number, pitch: number, turns: number): number;
|
|
97
|
+
/** Sweep with advanced options (contact mode, scale law). Returns solid handle. */
|
|
98
|
+
sweepWithOptions(profile: number, pathEdge: number, contactMode: string, scaleValues: number[], segments: number): number;
|
|
99
|
+
/** Fillet edges of a solid with constant radius. Returns solid handle. */
|
|
100
|
+
fillet(solid: number, edgeIds: number[], radius: number): number;
|
|
101
|
+
/** Fillet edges with variable radius (JSON spec). Returns solid handle. */
|
|
102
|
+
filletVariable(solid: number, json: string): number;
|
|
103
|
+
/** Chamfer edges of a solid. Returns solid handle. */
|
|
104
|
+
chamfer(solid: number, edgeIds: number[], distance: number): number;
|
|
105
|
+
/** Shell a solid by removing faces. Returns solid handle. */
|
|
106
|
+
shell(solid: number, thickness: number, faceIds: number[]): number;
|
|
107
|
+
/** Offset a solid by distance. Returns solid handle. */
|
|
108
|
+
offsetSolid(solid: number, distance: number): number;
|
|
109
|
+
/** Offset a face. Returns solid handle. */
|
|
110
|
+
offsetFace(face: number, distance: number, tolerance: number): number;
|
|
111
|
+
/** Offset a wire on a planar face. Returns wire handle. */
|
|
112
|
+
offsetWire(face: number, distance: number): number;
|
|
113
|
+
/** Draft (taper) faces of a solid. Returns solid handle. */
|
|
114
|
+
draft(solid: number, faceHandles: number[], pullX: number, pullY: number, pullZ: number, neutralX: number, neutralY: number, neutralZ: number, angleDegrees: number): number;
|
|
115
|
+
/** Section a solid with a plane. Returns face handle array. */
|
|
116
|
+
section(solid: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number): number[];
|
|
117
|
+
/** Split a solid along a plane. Returns `[positive, negative]` solid handles. */
|
|
118
|
+
split(solid: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number): number[];
|
|
119
|
+
/** Transform a solid in-place with 4×4 row-major matrix. */
|
|
120
|
+
transformSolid(solid: number, matrix: number[]): void;
|
|
121
|
+
/** Deep copy a solid. Returns new solid handle. */
|
|
122
|
+
copySolid(solid: number): number;
|
|
123
|
+
/** Copy and transform in one pass. Returns new solid handle. */
|
|
124
|
+
copyAndTransformSolid(solid: number, matrix: number[]): number;
|
|
125
|
+
/** Mirror a solid across a plane. Returns new solid handle. */
|
|
126
|
+
mirror(solid: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number): number;
|
|
127
|
+
/** Linear pattern (array). Returns compound handle. */
|
|
128
|
+
linearPattern(solid: number, dx: number, dy: number, dz: number, spacing: number, count: number): number;
|
|
129
|
+
/** Circular pattern around axis. Returns compound handle. */
|
|
130
|
+
circularPattern(solid: number, ax: number, ay: number, az: number, count: number): number;
|
|
131
|
+
/** Sew faces into a solid. Returns solid handle. */
|
|
132
|
+
sewFaces(faceHandles: number[], tolerance: number): number;
|
|
133
|
+
/** Fill a 4-sided boundary with Coons patch. Returns face handle. */
|
|
134
|
+
fillCoonsPatch(boundaryCoords: number[], curveLengths: number[]): number;
|
|
135
|
+
/** Untrim a NURBS face. Returns new face handle. */
|
|
136
|
+
untrimFace(face: number, samplesPerCurve: number, interiorSamples: number): number;
|
|
137
|
+
/** Get face handles of a solid. */
|
|
138
|
+
getSolidFaces(solid: number): number[];
|
|
139
|
+
/** Get edge handles of a solid. */
|
|
140
|
+
getSolidEdges(solid: number): number[];
|
|
141
|
+
/** Get vertex handles of a solid. */
|
|
142
|
+
getSolidVertices(solid: number): number[];
|
|
143
|
+
/** Get edge handles of a face. */
|
|
144
|
+
getFaceEdges(face: number): number[];
|
|
145
|
+
/** Get vertex handles of a face. */
|
|
146
|
+
getFaceVertices(face: number): number[];
|
|
147
|
+
/** Get the outer wire of a face. */
|
|
148
|
+
getFaceOuterWire(face: number): number;
|
|
149
|
+
/** Get all wires (outer + inner) of a face. */
|
|
150
|
+
faceWires(face: number): number[];
|
|
151
|
+
/**
|
|
152
|
+
* Get vertex positions of an edge.
|
|
153
|
+
* Returns `[startX, startY, startZ, endX, endY, endZ]`.
|
|
154
|
+
*/
|
|
155
|
+
getEdgeVertices(edge: number): number[];
|
|
156
|
+
/** Get vertex position `[x, y, z]`. */
|
|
157
|
+
getVertexPosition(vertex: number): number[];
|
|
158
|
+
/** Get face normal `[nx, ny, nz]` (planar faces only). */
|
|
159
|
+
getFaceNormal(face: number): number[];
|
|
160
|
+
/** Get entity counts `[faces, edges, vertices]` of a solid. */
|
|
161
|
+
getEntityCounts(solid: number): number[];
|
|
162
|
+
/** Get edge-to-face adjacency map as JSON string. */
|
|
163
|
+
edgeToFaceMap(solid: number): string;
|
|
164
|
+
/** Get shared edges between two faces. */
|
|
165
|
+
sharedEdges(faceA: number, faceB: number): number[];
|
|
166
|
+
/** Get faces adjacent to a face within a solid. */
|
|
167
|
+
adjacentFaces(solid: number, face: number): number[];
|
|
168
|
+
/** Check if an edge is forward in its parent wire. */
|
|
169
|
+
isEdgeForwardInWire(edge: number, wire: number): boolean;
|
|
170
|
+
/** Get the surface type of a face (e.g. "plane", "cylinder", "nurbs"). */
|
|
171
|
+
getSurfaceType(face: number): string;
|
|
172
|
+
/** Get the curve type of an edge (e.g. "line", "nurbs"). */
|
|
173
|
+
getEdgeCurveType(edge: number): string;
|
|
174
|
+
/** Get edge curve parameter range `[tMin, tMax]`. */
|
|
175
|
+
getEdgeCurveParameters(edge: number): number[];
|
|
176
|
+
/** Evaluate edge curve at parameter. Returns `[x, y, z]`. */
|
|
177
|
+
evaluateEdgeCurve(edge: number, param: number): number[];
|
|
178
|
+
/** Evaluate edge curve + tangent at parameter. Returns `[px,py,pz, tx,ty,tz]`. */
|
|
179
|
+
evaluateEdgeCurveD1(edge: number, param: number): number[];
|
|
180
|
+
/** Evaluate surface at (u,v). Returns `[x, y, z]`. */
|
|
181
|
+
evaluateSurface(face: number, u: number, v: number): number[];
|
|
182
|
+
/** Evaluate surface normal at (u,v). Returns `[nx, ny, nz]`. */
|
|
183
|
+
evaluateSurfaceNormal(face: number, u: number, v: number): number[];
|
|
184
|
+
/** Get UV domain `[uMin, uMax, vMin, vMax]`. */
|
|
185
|
+
getSurfaceDomain(face: number): number[];
|
|
186
|
+
/** Project a 3D point onto a face surface. Returns `[x, y, z]`. */
|
|
187
|
+
projectPointOnSurface(face: number, x: number, y: number, z: number): number[];
|
|
188
|
+
/** Get analytic surface parameters as JSON. */
|
|
189
|
+
getAnalyticSurfaceParams(face: number): string;
|
|
190
|
+
/** Get NURBS curve data for an edge as JSON. */
|
|
191
|
+
getEdgeNurbsData(edge: number): string;
|
|
192
|
+
/** Bounding box `[minX, minY, minZ, maxX, maxY, maxZ]`. */
|
|
193
|
+
boundingBox(solid: number): number[];
|
|
194
|
+
/** Volume of a solid (tessellation-based). */
|
|
195
|
+
volume(solid: number, deflection: number): number;
|
|
196
|
+
/** Total surface area of a solid. */
|
|
197
|
+
surfaceArea(solid: number, deflection: number): number;
|
|
198
|
+
/** Area of a single face. */
|
|
199
|
+
faceArea(face: number, deflection: number): number;
|
|
200
|
+
/** Center of mass `[x, y, z]`. */
|
|
201
|
+
centerOfMass(solid: number, deflection: number): number[];
|
|
202
|
+
/** Edge length. */
|
|
203
|
+
edgeLength(edge: number): number;
|
|
204
|
+
/** Face perimeter. */
|
|
205
|
+
facePerimeter(face: number): number;
|
|
206
|
+
/** Classify a point relative to a solid. Returns "inside"|"outside"|"boundary". */
|
|
207
|
+
classifyPoint(solid: number, x: number, y: number, z: number): string;
|
|
208
|
+
/** Classify using generalized winding numbers. */
|
|
209
|
+
classifyPointWinding(solid: number, x: number, y: number, z: number, tolerance: number): string;
|
|
210
|
+
/** Classify using robust dual-method. */
|
|
211
|
+
classifyPointRobust(solid: number, x: number, y: number, z: number, tolerance: number): string;
|
|
212
|
+
/**
|
|
213
|
+
* Distance from a point to a solid.
|
|
214
|
+
* Returns `[distance, closestX, closestY, closestZ]`.
|
|
215
|
+
*/
|
|
216
|
+
pointToSolidDistance(px: number, py: number, pz: number, solid: number): number[];
|
|
217
|
+
/** Minimum distance between two solids. */
|
|
218
|
+
solidToSolidDistance(a: number, b: number): number;
|
|
219
|
+
/** Validate solid topology. Returns error count. */
|
|
220
|
+
validateSolid(solid: number): number;
|
|
221
|
+
/** Heal a solid (fix orientations, merge vertices, etc.). */
|
|
222
|
+
healSolid(solid: number): void;
|
|
223
|
+
/** Merge coincident vertices. Returns merge count. */
|
|
224
|
+
mergeCoincidentVertices(solid: number, tolerance: number): number;
|
|
225
|
+
/** Remove zero-length edges. Returns removal count. */
|
|
226
|
+
removeDegenerateEdges(solid: number, tolerance: number): number;
|
|
227
|
+
/** Fix face orientations for consistent normals. Returns fix count. */
|
|
228
|
+
fixFaceOrientations(solid: number): number;
|
|
229
|
+
/** Tessellate a face into a triangle mesh. */
|
|
230
|
+
tessellateFace(face: number, deflection: number): BrepkitMesh;
|
|
231
|
+
/** Tessellate all faces of a solid into a merged mesh. */
|
|
232
|
+
tessellateSolid(solid: number, deflection: number): BrepkitMesh;
|
|
233
|
+
/** Tessellate an edge into polyline points. Returns flat `[x,y,z,...]`. */
|
|
234
|
+
tessellateEdge(edge: number, numPoints: number): number[];
|
|
235
|
+
/** Convex hull from flat coords. Returns solid handle. */
|
|
236
|
+
convexHull(coords: number[]): number;
|
|
237
|
+
/** Export to STEP format. Returns bytes. */
|
|
238
|
+
exportStep(solid: number): Uint8Array;
|
|
239
|
+
/** Export to binary STL. Returns bytes. */
|
|
240
|
+
exportStl(solid: number, deflection: number): Uint8Array;
|
|
241
|
+
/** Export to IGES format. Returns bytes. */
|
|
242
|
+
exportIges(solid: number): Uint8Array;
|
|
243
|
+
/** Export to 3MF format. Returns bytes. */
|
|
244
|
+
export3mf(solid: number, deflection: number): Uint8Array;
|
|
245
|
+
/** Export to OBJ format. Returns bytes. */
|
|
246
|
+
exportObj(solid: number, deflection: number): Uint8Array;
|
|
247
|
+
/** Export to GLB format. Returns bytes. */
|
|
248
|
+
exportGlb(solid: number, deflection: number): Uint8Array;
|
|
249
|
+
/** Export to PLY format. Returns bytes. */
|
|
250
|
+
exportPly(solid: number, deflection: number, binary: boolean): Uint8Array;
|
|
251
|
+
/** Import from STEP. Returns solid handle array. */
|
|
252
|
+
importStep(data: Uint8Array): number[];
|
|
253
|
+
/** Import from STL. Returns solid handle. */
|
|
254
|
+
importStl(data: Uint8Array): number;
|
|
255
|
+
/** Import from IGES. Returns solid handle array. */
|
|
256
|
+
importIges(data: Uint8Array): number[];
|
|
257
|
+
/** Import from 3MF. Returns solid handle array. */
|
|
258
|
+
import3mf(data: Uint8Array): number[];
|
|
259
|
+
/** Import from OBJ. Returns solid handle. */
|
|
260
|
+
importObj(data: Uint8Array): number;
|
|
261
|
+
/** Import from GLB. Returns solid handle. */
|
|
262
|
+
importGlb(data: Uint8Array): number;
|
|
263
|
+
/** Approximate a curve through points (least-squares). Returns edge handle. */
|
|
264
|
+
approximateCurve(coords: number[], degree: number, numControlPoints: number): number;
|
|
265
|
+
/** Approximate via LSPIA. Returns edge handle. */
|
|
266
|
+
approximateCurveLspia(coords: number[], degree: number, numControlPoints: number, tolerance: number, maxIterations: number): number;
|
|
267
|
+
/** Interpolate points into a smooth NURBS edge. Returns edge handle. */
|
|
268
|
+
interpolatePoints(coords: number[], degree: number): number;
|
|
269
|
+
/** Insert a knot into an edge's NURBS curve. Returns new edge handle. */
|
|
270
|
+
curveKnotInsert(edge: number, knot: number, times: number): number;
|
|
271
|
+
/** Remove a knot from a NURBS curve. Returns new edge handle. */
|
|
272
|
+
curveKnotRemove(edge: number, knot: number, tolerance: number): number;
|
|
273
|
+
/** Split a NURBS curve at parameter. Returns `[edge1, edge2]`. */
|
|
274
|
+
curveSplit(edge: number, u: number): number[];
|
|
275
|
+
/** Elevate degree of a NURBS curve. Returns new edge handle. */
|
|
276
|
+
curveDegreeElevate(edge: number, elevateBy: number): number;
|
|
277
|
+
/** Interpolate a grid of points into a NURBS surface. Returns face handle. */
|
|
278
|
+
interpolateSurface(coords: number[], rows: number, cols: number, degreeU: number, degreeV: number): number;
|
|
279
|
+
/** Approximate a point grid via LSPIA. Returns face handle. */
|
|
280
|
+
approximateSurfaceLspia(coords: number[], rows: number, cols: number, degreeU: number, degreeV: number, numCpsU: number, numCpsV: number, tolerance: number, maxIterations: number): number;
|
|
281
|
+
/** Detect small features (faces below area threshold). Returns face handles. */
|
|
282
|
+
detectSmallFeatures(solid: number, areaThreshold: number, deflection: number): number[];
|
|
283
|
+
/** Recognize geometric features. Returns JSON string. */
|
|
284
|
+
recognizeFeatures(solid: number, deflection: number): string;
|
|
285
|
+
/** Remove faces from a solid (defeaturing). Returns new solid handle. */
|
|
286
|
+
defeature(solid: number, faceHandles: number[]): number;
|
|
287
|
+
/** Boolean on raw triangle data. Returns BrepkitMesh. */
|
|
288
|
+
meshBoolean(positionsA: number[], indicesA: number[], positionsB: number[], indicesB: number[], op: string, tolerance: number): BrepkitMesh;
|
|
289
|
+
/** Deep copy an edge. Returns new edge handle. */
|
|
290
|
+
copyEdge?(edge: number): number;
|
|
291
|
+
/** Deep copy a face. Returns new face handle. */
|
|
292
|
+
copyFace?(face: number): number;
|
|
293
|
+
/** Deep copy a wire. Returns new wire handle. */
|
|
294
|
+
copyWire?(wire: number): number;
|
|
295
|
+
/** Transform an edge in-place. */
|
|
296
|
+
transformEdge?(edge: number, matrix: number[]): void;
|
|
297
|
+
/** Transform a face in-place. */
|
|
298
|
+
transformFace?(face: number, matrix: number[]): void;
|
|
299
|
+
/** Transform a wire in-place. */
|
|
300
|
+
transformWire?(wire: number, matrix: number[]): void;
|
|
301
|
+
/** Create a new sketch. Returns sketch index. */
|
|
302
|
+
sketchNew(): number;
|
|
303
|
+
/** Add a point to a sketch. Returns point index. */
|
|
304
|
+
sketchAddPoint(sketch: number, x: number, y: number, fixed: boolean): number;
|
|
305
|
+
/** Add a constraint to a sketch (JSON string). */
|
|
306
|
+
sketchAddConstraint(sketch: number, json: string): void;
|
|
307
|
+
/** Solve sketch constraints. Returns JSON result. */
|
|
308
|
+
sketchSolve(sketch: number, maxIterations: number, tolerance: number): string;
|
|
309
|
+
/** Create a new assembly. Returns assembly index. */
|
|
310
|
+
assemblyNew(name: string): number;
|
|
311
|
+
/** Add a root component. Returns component ID. */
|
|
312
|
+
assemblyAddRoot(assembly: number, name: string, solid: number, matrix: number[]): number;
|
|
313
|
+
/** Add a child component. Returns component ID. */
|
|
314
|
+
assemblyAddChild(assembly: number, parent: number, name: string, solid: number, matrix: number[]): number;
|
|
315
|
+
/** Flatten assembly to JSON `[{solid, matrix}, ...]`. */
|
|
316
|
+
assemblyFlatten(assembly: number): string;
|
|
317
|
+
/** Bill of materials as JSON. */
|
|
318
|
+
assemblyBom(assembly: number): string;
|
|
319
|
+
/** Offset a 2D polygon. Coords are flat `[x,y, ...]`. Returns flat coords. */
|
|
320
|
+
offsetPolygon2d(coords: number[], distance: number, tolerance: number): number[];
|
|
321
|
+
/** Execute a batch of operations from JSON. Returns JSON result. */
|
|
322
|
+
executeBatch(json: string): string;
|
|
323
|
+
/** Get solids within a compound. (Theme A) */
|
|
324
|
+
getCompoundSolids?(compound: number): number[];
|
|
325
|
+
/** Get faces of a shell. (Theme A) */
|
|
326
|
+
getShellFaces?(shell: number): number[];
|
|
327
|
+
/** Get edges of a wire. (Theme A) */
|
|
328
|
+
getWireEdges?(wire: number): number[];
|
|
329
|
+
/** Classify a point on a face (trim-aware). (Theme G) */
|
|
330
|
+
classifyPointOnFace?(face: number, u: number, v: number, tolerance: number): number;
|
|
331
|
+
/** Get shape orientation flag. (Theme G) */
|
|
332
|
+
getShapeOrientation?(id: number): string;
|
|
333
|
+
/** Reverse shape orientation. (Theme G) */
|
|
334
|
+
reverseShape?(id: number): number;
|
|
335
|
+
/** Distance between two arbitrary shapes. (Theme G) */
|
|
336
|
+
shapeToShapeDistance?(id1: number, id2: number): number[];
|
|
337
|
+
/** 2D curve intersection. (Theme F) */
|
|
338
|
+
intersectCurves2d?(...args: number[]): number[];
|
|
339
|
+
/** Project point onto 2D curve. (Theme F) */
|
|
340
|
+
projectPointOnCurve2d?(...args: number[]): number[];
|
|
341
|
+
/** Reverse a 2D curve. (Theme F) */
|
|
342
|
+
reverseCurve2d?(...args: number[]): number[];
|
|
343
|
+
/** Fuse with evolution tracking. Returns `{ solid, evolution_json }`. */
|
|
344
|
+
fuseWithEvolution?(a: number, b: number): BrepkitEvolutionResult;
|
|
345
|
+
/** Cut with evolution tracking. */
|
|
346
|
+
cutWithEvolution?(a: number, b: number): BrepkitEvolutionResult;
|
|
347
|
+
/** Intersect with evolution tracking. */
|
|
348
|
+
intersectWithEvolution?(a: number, b: number): BrepkitEvolutionResult;
|
|
349
|
+
/** Fillet with evolution tracking. */
|
|
350
|
+
filletWithEvolution?(solid: number, edgeIds: number[], radius: number): BrepkitEvolutionResult;
|
|
351
|
+
/** Chamfer with evolution tracking. */
|
|
352
|
+
chamferWithEvolution?(solid: number, edgeIds: number[], distance: number): BrepkitEvolutionResult;
|
|
353
|
+
/** Shell with evolution tracking. */
|
|
354
|
+
shellWithEvolution?(solid: number, thickness: number, faceIds: number[]): BrepkitEvolutionResult;
|
|
355
|
+
/** Offset with evolution tracking. */
|
|
356
|
+
offsetSolidWithEvolution?(solid: number, distance: number): BrepkitEvolutionResult;
|
|
357
|
+
/** Thicken with evolution tracking. */
|
|
358
|
+
thickenWithEvolution?(face: number, distance: number): BrepkitEvolutionResult;
|
|
359
|
+
/** Draft with evolution tracking. */
|
|
360
|
+
draftWithEvolution?(solid: number, faceHandles: number[], pullX: number, pullY: number, pullZ: number, neutralX: number, neutralY: number, neutralZ: number, angleDegrees: number): BrepkitEvolutionResult;
|
|
361
|
+
/** Translate with evolution tracking. */
|
|
362
|
+
translateWithEvolution?(solid: number, dx: number, dy: number, dz: number): BrepkitEvolutionResult;
|
|
363
|
+
/** Rotate with evolution tracking. */
|
|
364
|
+
rotateWithEvolution?(solid: number, ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, angleDegrees: number): BrepkitEvolutionResult;
|
|
365
|
+
/** Mirror with evolution tracking. */
|
|
366
|
+
mirrorWithEvolution?(solid: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number): BrepkitEvolutionResult;
|
|
367
|
+
/** Scale with evolution tracking. */
|
|
368
|
+
scaleWithEvolution?(solid: number, factor: number): BrepkitEvolutionResult;
|
|
369
|
+
/** General transform with evolution tracking. */
|
|
370
|
+
generalTransformWithEvolution?(solid: number, matrix: number[]): BrepkitEvolutionResult;
|
|
371
|
+
/** Copy with evolution tracking. */
|
|
372
|
+
copyWithEvolution?(solid: number): BrepkitEvolutionResult;
|
|
373
|
+
/** Release the entire arena. */
|
|
374
|
+
free(): void;
|
|
375
|
+
}
|
|
376
|
+
/** Result from `*WithEvolution` WASM methods (Theme C). */
|
|
377
|
+
export interface BrepkitEvolutionResult {
|
|
378
|
+
/** The resulting solid handle. */
|
|
379
|
+
readonly solid: number;
|
|
380
|
+
/** JSON-encoded evolution map. */
|
|
381
|
+
readonly evolution_json: string;
|
|
382
|
+
}
|
|
383
|
+
//# sourceMappingURL=brepkitWasmTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brepkitWasmTypes.d.ts","sourceRoot":"","sources":["../../src/kernel/brepkitWasmTypes.ts"],"names":[],"mappings":"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"}
|
package/dist/kernel/index.d.ts
CHANGED
|
@@ -33,4 +33,6 @@ export { supportsProjection } from './types.js';
|
|
|
33
33
|
export type { ProjectionCapability } from './types.js';
|
|
34
34
|
export { supportsKernel2D } from './kernel2dTypes.js';
|
|
35
35
|
export type { Kernel2DCapability, Curve2dHandle, BBox2dHandle } from './kernel2dTypes.js';
|
|
36
|
+
export { BrepkitAdapter } from './brepkitAdapter.js';
|
|
37
|
+
export type { BrepkitHandle } from './brepkitAdapter.js';
|
|
36
38
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAW7D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAGvE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,CAYpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,kBAAkB,CAM3E;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EACrE,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAQH;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAInD;AAED,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,cAAc,IAAI,mBAAmB,EACrC,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAW7D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAGvE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,CAYpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,kBAAkB,CAM3E;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EACrE,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAQH;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAInD;AAED,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,cAAc,IAAI,mBAAmB,EACrC,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|