brepjs 9.0.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,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. */
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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"}
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "9.0.0",
3
+ "version": "9.1.0",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",