occt-wasm 3.2.3 → 3.3.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/README.md CHANGED
@@ -33,7 +33,7 @@ To set expectations, this library deliberately does not:
33
33
 
34
34
  - **Provide a higher-level CAD modeling API** — parametric sketching, constraints, feature trees, and ergonomic modeling belong in [brepjs](https://github.com/andymai/brepjs), which wraps occt-wasm for that purpose
35
35
  - **Manage memory automatically beyond arena handles** — shapes are freed when the kernel is disposed or you call `release()`; there is no per-shape garbage collection
36
- - **Support Firefox or other non-WASM-SIMD browsers** — the build requires WASM SIMD, relaxed-SIMD, tail calls, and wasm exceptions; Firefox lacks tail call support as of v130
36
+ - **Support non-WASM-SIMD browsers** — the build requires WASM SIMD (baseline `-msimd128`), tail calls, and wasm exceptions; Firefox lacks tail call support as of v130. Relaxed-SIMD is intentionally not used: some Safari/iOS WebKit builds fail to compile relaxed-SIMD modules, and it made geometry non-reproducible across CPUs
37
37
  - **Include OCCT visualization or display modules** — TKV3d, TKHLR (except the HLR facade), and the AIS interactive context are excluded; bring your own renderer (Three.js, Babylon.js, etc.)
38
38
  - **Support IGES import/export** -- TKDEIGES is excluded from the link; use STEP for interchange
39
39
 
@@ -302,19 +302,19 @@ Generate full docs locally: `cd ts && npm run docs` (TypeDoc output).
302
302
 
303
303
  | Category | What's covered |
304
304
  | ---------------- | -------------------------------------------------------------------------------------------------------------- |
305
- | **Primitives** | Box, cylinder, sphere, cone, torus, ellipsoid, rectangle |
306
- | **Booleans** | Fuse, cut, common, intersect, section + multi-shape variants |
305
+ | **Primitives** | Box, cylinder, sphere, cone, torus, ellipsoid, rectangle, half-space |
306
+ | **Booleans** | Fuse, cut, common, intersect, section + multi-shape variants, intersection cells |
307
307
  | **Modeling** | Extrude, revolve, fillet, chamfer, shell, offset, draft |
308
- | **Sweeps** | Pipe, loft, sweep, draft prism, extrusion laws |
308
+ | **Sweeps** | Pipe, loft, sweep, oriented sweep (fixed/Frenet/up-axis/auxiliary), draft prism, extrusion laws |
309
309
  | **Construction** | Vertices, edges (line/arc/circle/ellipse/bezier/helix), wires, faces, solids, compounds, sewing |
310
- | **Transforms** | Translate, rotate, scale, mirror, 3x4 matrix, linear/circular patterns |
310
+ | **Transforms** | Translate, rotate, scale, mirror, align to bounding box, 3x4 matrix, linear/circular patterns |
311
311
  | **Topology** | Shape type queries, type predicates, sub-shape extraction, adjacency, hash codes |
312
- | **Tessellation** | Triangle meshes, wireframe polylines, per-face groups, batched multi-shape meshing |
313
- | **I/O** | STEP, STL, BREP import/export |
314
- | **Query** | Bounding box, volume, surface area, length, center of mass, curvature |
312
+ | **Tessellation** | Triangle meshes (absolute or relative deflection), wireframe polylines, per-face groups, batched meshing |
313
+ | **I/O** | STEP, STL, BREP (text + binary) import/export |
314
+ | **Query** | Bounding box, volume, surface area, length, center of mass, inertia tensor, point-in-solid, curvature |
315
315
  | **Surfaces** | Type, normal, UV bounds, point classification, B-spline construction |
316
- | **Curves** | Type, point/tangent evaluation, parameters, NURBS data extraction, interpolation |
317
- | **Projection** | Hidden line removal (HLR) |
316
+ | **Curves** | Type, point/tangent eval, parameters, NURBS data, interpolation (incl. clamped tangents), project point |
317
+ | **Projection** | Hidden line removal (HLR), multiview SVG render (Front/Top/Right/Iso) |
318
318
  | **Modifiers** | Thicken, defeature, reverse, simplify, variable fillet, 2D wire offset |
319
319
  | **Evolution** | Face-tracking history for translate, fuse, cut, fillet, rotate, mirror, scale, chamfer, shell, offset, thicken |
320
320
  | **XCAF** | Assembly documents with colors, names, component hierarchies, STEP/glTF export |
package/dist/index.d.ts CHANGED
@@ -12,11 +12,13 @@
12
12
  * kernel.release(box);
13
13
  * ```
14
14
  */
15
- export { BooleanOp, JoinType, OcctError, OcctErrorCode, TransitionMode, type AddChildOptions, type AddShapeOptions, type BoundingBox, type Color3, type CurveKind, type CurvatureData, type EdgeData, type EvolutionData, type GLTFExportOptions, type InitOptions, type LabelInfo, type LabelTag, type Location, type Mesh, type MeshBatchData, type NurbsCurveData, type ShapeQueryResult, type PointClassification, type ProjectionData, type ShapeHandle, type ShapeOrientation, type ShapeType, type SurfaceKind, type TessellateOptions, type UVBounds, type Vec3, } from "./types.js";
15
+ export { BooleanOp, JoinType, OcctError, OcctErrorCode, SweepMode, TransitionMode, type AddChildOptions, type AddShapeOptions, type AlignAnchor, type BoundingBox, type Color3, type CurveKind, type CurvatureData, type EdgeData, type EvolutionData, type GLTFExportOptions, type InitOptions, type LabelInfo, type LabelTag, type Location, type Mesh, type MeshBatchData, type NurbsCurveData, type ShapeQueryResult, type PointClassification, type ProjectionData, type ShapeHandle, type ShapeOrientation, type ShapeType, type SurfaceKind, type TessellateOptions, type UVBounds, type Vec3, } from "./types.js";
16
16
  export { XCAFDocument, type EmscriptenFS } from "./xcaf-document.js";
17
17
  import { XCAFDocument as XCAFDocumentImpl, type EmscriptenFS } from "./xcaf-document.js";
18
- import type { BoundingBox, CurveKind, CurvatureData, EdgeData, EvolutionData, InitOptions, Mesh, MeshBatchData, NurbsCurveData, PointClassification, ProjectionData, ShapeHandle, ShapeQueryResult, ShapeOrientation, ShapeType, SurfaceKind, TessellateOptions, BooleanOp, UVBounds, Vec3 } from "./types.js";
19
- import { JoinType, TransitionMode } from "./types.js";
18
+ export { renderMultiviewSVG, renderShapeSVG, type MultiviewSvgOptions, type SvgViewOptions, type ViewName, } from "./svg.js";
19
+ import { type MultiviewSvgOptions, type SvgViewOptions, type ViewName } from "./svg.js";
20
+ import type { AlignAnchor, BoundingBox, CurveKind, CurvatureData, EdgeData, EvolutionData, InitOptions, Mesh, MeshBatchData, NurbsCurveData, PointClassification, ProjectionData, ShapeHandle, ShapeQueryResult, ShapeOrientation, ShapeType, SurfaceKind, TessellateOptions, BooleanOp, UVBounds, Vec3 } from "./types.js";
21
+ import { JoinType, SweepMode, TransitionMode } from "./types.js";
20
22
  /**
21
23
  * The Emscripten module exposed by `occt-wasm.js`. Provides Embind class
22
24
  * constructors, std::vector wrappers, and typed-array views into WASM
@@ -129,6 +131,7 @@ export interface OcctRawKernel {
129
131
  makeSphere(radius: number): number;
130
132
  makeCone(r1: number, r2: number, height: number): number;
131
133
  makeTorus(majorRadius: number, minorRadius: number): number;
134
+ halfSpace(ox: number, oy: number, oz: number, nx: number, ny: number, nz: number): number;
132
135
  makeEllipsoid(rx: number, ry: number, rz: number): number;
133
136
  makeRectangle(width: number, height: number): number;
134
137
  fuse(a: number, b: number): number;
@@ -139,6 +142,7 @@ export interface OcctRawKernel {
139
142
  fuseAll(shapeIds: EmbindVectorU32): number;
140
143
  cutAll(shapeId: number, toolIds: EmbindVectorU32): number;
141
144
  split(shapeId: number, toolIds: EmbindVectorU32): number;
145
+ intersectionCells(shapeIds: EmbindVectorU32): number;
142
146
  extrude(id: number, dx: number, dy: number, dz: number): number;
143
147
  revolve(id: number, px: number, py: number, pz: number, dx: number, dy: number, dz: number, angle: number): number;
144
148
  fillet(solidId: number, edgeIds: EmbindVectorU32, radius: number): number;
@@ -153,6 +157,7 @@ export interface OcctRawKernel {
153
157
  loftWithVertices(wireIds: EmbindVectorU32, isSolid: boolean, ruled: boolean, startVertexId: number, endVertexId: number): number;
154
158
  sweep(wireId: number, spineId: number, transitionMode: number): number;
155
159
  sweepPipeShell(profileId: number, spineId: number, freenet: boolean, smooth: boolean): number;
160
+ sweepOriented(profileId: number, spineId: number, mode: number, upX: number, upY: number, upZ: number, auxSpineId: number): number;
156
161
  draftPrism(shapeId: number, dx: number, dy: number, dz: number, angleDeg: number): number;
157
162
  revolveVec(shapeId: number, cx: number, cy: number, cz: number, dx: number, dy: number, dz: number, angle: number): number;
158
163
  makeVertex(x: number, y: number, z: number): number;
@@ -211,6 +216,7 @@ export interface OcctRawKernel {
211
216
  iterShapes(id: number): EmbindVectorU32;
212
217
  edgeToFaceMap(id: number, hashUpperBound: number): EmbindVectorI32;
213
218
  tessellate(id: number, linDefl: number, angDefl: number): RawMeshData;
219
+ tessellateRelative(id: number, linDefl: number, angDefl: number): RawMeshData;
214
220
  wireframe(id: number, deflection: number): RawEdgeData;
215
221
  hasTriangulation(id: number): boolean;
216
222
  meshShape(id: number, linDefl: number, angDefl: number): RawMeshData;
@@ -221,11 +227,15 @@ export interface OcctRawKernel {
221
227
  exportStl(id: number, linearDeflection: number, ascii: boolean): string;
222
228
  toBREP(id: number): string;
223
229
  fromBREP(data: string): number;
230
+ exportBrepBinary(id: number): string;
231
+ importBrepBinary(path: string): number;
224
232
  getBoundingBox(id: number, useTriangulation: boolean): BoundingBox;
225
233
  getVolume(id: number): number;
226
234
  getSurfaceArea(id: number): number;
227
235
  getLength(id: number): number;
228
236
  getCenterOfMass(id: number): EmbindVectorF64;
237
+ getInertia(id: number): EmbindVectorF64;
238
+ containsPoint(id: number, x: number, y: number, z: number, tolerance: number): boolean;
229
239
  getSurfaceCenterOfMass(faceId: number): EmbindVectorF64;
230
240
  getLinearCenterOfMass(id: number): EmbindVectorF64;
231
241
  surfaceCurvature(faceId: number, u: number, v: number): EmbindVectorF64;
@@ -248,6 +258,8 @@ export interface OcctRawKernel {
248
258
  curveIsPeriodic(edgeId: number): boolean;
249
259
  curveLength(edgeId: number): number;
250
260
  interpolatePoints(flatPoints: EmbindVectorF64, periodic: boolean): number;
261
+ interpolatePointsWithTangents(flatPoints: EmbindVectorF64, startTanX: number, startTanY: number, startTanZ: number, endTanX: number, endTanY: number, endTanZ: number): number;
262
+ projectPointOnEdge(edgeId: number, x: number, y: number, z: number): EmbindVectorF64;
251
263
  approximatePoints(flatPoints: EmbindVectorF64, tolerance: number): number;
252
264
  getNurbsCurveData(edgeId: number): RawNurbsCurveData;
253
265
  liftCurve2dToPlane(flatPoints2d: EmbindVectorF64, planeOx: number, planeOy: number, planeOz: number, planeZx: number, planeZy: number, planeZz: number, planeXx: number, planeXy: number, planeXz: number): number;
@@ -361,6 +373,12 @@ export declare class OcctKernel {
361
373
  /** Create a torus solid at the origin (BRepPrimAPI_MakeTorus).
362
374
  * @throws OcctError */
363
375
  makeTorus(majorRadius: number, minorRadius: number): ShapeHandle;
376
+ /**
377
+ * Infinite half-space solid bounded by the plane through `origin` with the
378
+ * given `normal`. The solid fills the side the normal points into — useful
379
+ * as an unbounded boolean cutting tool.
380
+ */
381
+ halfSpace(origin: Vec3, normal: Vec3): ShapeHandle;
364
382
  /** Create an ellipsoid solid at the origin by scaling a sphere.
365
383
  * @param rx - radius along X
366
384
  * @param ry - radius along Y
@@ -396,6 +414,12 @@ export declare class OcctKernel {
396
414
  * @returns A compound of the split fragments
397
415
  * @throws OcctError */
398
416
  split(shape: ShapeHandle, tools: ShapeHandle[]): ShapeHandle;
417
+ /**
418
+ * General-fuse cell selection: the union of all regions covered by two or
419
+ * more of the inputs. Unlike {@link fuseAll} (which keeps every cell), this
420
+ * keeps only the overlap regions via BOPAlgo_CellsBuilder.
421
+ */
422
+ intersectionCells(shapes: ShapeHandle[]): ShapeHandle;
399
423
  /** Extrude a shape along a direction vector (BRepPrimAPI_MakePrism).
400
424
  * @param dx - extrusion vector X component
401
425
  * @param dy - extrusion vector Y component
@@ -447,6 +471,13 @@ export declare class OcctKernel {
447
471
  loftWithVertices(wires: ShapeHandle[], isSolid: boolean, ruled: boolean, startVertex: ShapeHandle, endVertex: ShapeHandle): ShapeHandle;
448
472
  sweep(wire: ShapeHandle, spine: ShapeHandle, transitionMode?: TransitionMode): ShapeHandle;
449
473
  sweepPipeShell(profile: ShapeHandle, spine: ShapeHandle, freenet?: boolean, smooth?: boolean): ShapeHandle;
474
+ /**
475
+ * Sweep a profile wire along a spine wire with explicit profile-orientation
476
+ * control. `up` is required for {@link SweepMode.FixedUp} (the constant
477
+ * binormal direction); `auxSpine` is required for {@link SweepMode.Auxiliary}
478
+ * (the guide wire). Both are ignored for the other modes.
479
+ */
480
+ sweepOriented(profile: ShapeHandle, spine: ShapeHandle, mode?: SweepMode, up?: Vec3, auxSpine?: ShapeHandle): ShapeHandle;
450
481
  draftPrism(shape: ShapeHandle, dx: number, dy: number, dz: number, angleDeg: number): ShapeHandle;
451
482
  makeVertex(x: number, y: number, z: number): ShapeHandle;
452
483
  makeEdge(v1: ShapeHandle, v2: ShapeHandle): ShapeHandle;
@@ -473,6 +504,15 @@ export declare class OcctKernel {
473
504
  makeFaceOnSurface(face: ShapeHandle, wire: ShapeHandle): ShapeHandle;
474
505
  makeNullShape(): ShapeHandle;
475
506
  translate(shape: ShapeHandle, dx: number, dy: number, dz: number): ShapeHandle;
507
+ /**
508
+ * Translate along X so the chosen bounding-box anchor lands at `target`.
509
+ * Returns a new shape; the input is left untouched.
510
+ */
511
+ alignX(shape: ShapeHandle, target?: number, anchor?: AlignAnchor): ShapeHandle;
512
+ /** Translate along Y so the chosen bounding-box anchor lands at `target`. */
513
+ alignY(shape: ShapeHandle, target?: number, anchor?: AlignAnchor): ShapeHandle;
514
+ /** Translate along Z so the chosen bounding-box anchor lands at `target`. */
515
+ alignZ(shape: ShapeHandle, target?: number, anchor?: AlignAnchor): ShapeHandle;
476
516
  rotate(shape: ShapeHandle, axis: {
477
517
  point: Vec3;
478
518
  direction: Vec3;
@@ -553,6 +593,10 @@ export declare class OcctKernel {
553
593
  exportStl(shape: ShapeHandle, linearDeflection?: number, ascii?: boolean): string;
554
594
  toBREP(shape: ShapeHandle): string;
555
595
  fromBREP(data: string): ShapeHandle;
596
+ /** Serialize a shape to binary BREP (smaller/faster than the text format). */
597
+ toBREPBinary(shape: ShapeHandle): Uint8Array;
598
+ /** Load a shape from binary BREP produced by {@link toBREPBinary}. */
599
+ fromBREPBinary(data: Uint8Array): ShapeHandle;
556
600
  cacheStep(stepData: string | ArrayBuffer): string;
557
601
  loadCached(brep: string): ShapeHandle;
558
602
  /**
@@ -575,6 +619,13 @@ export declare class OcctKernel {
575
619
  getSurfaceArea(shape: ShapeHandle): number;
576
620
  getLength(shape: ShapeHandle): number;
577
621
  getCenterOfMass(shape: ShapeHandle): Vec3;
622
+ /**
623
+ * Matrix of inertia about the center of mass, as a row-major 3×3 array
624
+ * (length 9). Symmetric: `[1]==[3]`, `[2]==[6]`, `[5]==[7]`.
625
+ */
626
+ getInertia(shape: ShapeHandle): number[];
627
+ /** True if `point` lies inside (or on the boundary of) a solid. */
628
+ containsPoint(shape: ShapeHandle, point: Vec3, tolerance?: number): boolean;
578
629
  /**
579
630
  * Surface (area-weighted) center of mass for a face. Equivalent to
580
631
  * `BRepGProp::SurfaceProperties(face, props).CentreOfMass()`.
@@ -626,6 +677,17 @@ export declare class OcctKernel {
626
677
  curveIsPeriodic(edge: ShapeHandle): boolean;
627
678
  curveLength(edge: ShapeHandle): number;
628
679
  interpolatePoints(points: Vec3[], periodic?: boolean): ShapeHandle;
680
+ /**
681
+ * Interpolate a cubic B-spline through the points with clamped start/end
682
+ * tangent directions.
683
+ */
684
+ interpolatePointsWithTangents(points: Vec3[], startTangent: Vec3, endTangent: Vec3): ShapeHandle;
685
+ /** Closest point on an edge to `point`, with the curve tangent and parameter there. */
686
+ projectPointOnEdge(edge: ShapeHandle, point: Vec3): {
687
+ point: Vec3;
688
+ tangent: Vec3;
689
+ parameter: number;
690
+ };
629
691
  approximatePoints(points: Vec3[], tolerance?: number): ShapeHandle;
630
692
  getNurbsCurveData(edge: ShapeHandle): NurbsCurveData;
631
693
  liftCurve2dToPlane(points2d: Array<{
@@ -633,6 +695,17 @@ export declare class OcctKernel {
633
695
  y: number;
634
696
  }>, planeOrigin: Vec3, planeZ: Vec3, planeX: Vec3): ShapeHandle;
635
697
  projectEdges(shape: ShapeHandle, viewOrigin: Vec3, viewDirection: Vec3, xAxis?: Vec3): ProjectionData;
698
+ /**
699
+ * Render a single named view of a shape to a standalone SVG string via
700
+ * hidden-line removal. Visible edges are solid, hidden edges dashed.
701
+ */
702
+ toSVG(shape: ShapeHandle, view?: ViewName, options?: SvgViewOptions): string;
703
+ /**
704
+ * Render a multiview grid (default Front / Top / Right / Iso) of a shape to
705
+ * a single SVG string, with per-view gnomons and an overall size annotation.
706
+ * Aimed at giving an automated agent a readable picture of the geometry.
707
+ */
708
+ toMultiviewSVG(shape: ShapeHandle, options?: MultiviewSvgOptions): string;
636
709
  /**
637
710
  * Thicken a face/shell into a solid (or grow a solid uniformly).
638
711
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,10 +13,12 @@
13
13
  * ```
14
14
  */
15
15
  var _a;
16
- export { BooleanOp, JoinType, OcctError, OcctErrorCode, TransitionMode, } from "./types.js";
16
+ export { BooleanOp, JoinType, OcctError, OcctErrorCode, SweepMode, TransitionMode, } from "./types.js";
17
17
  export { XCAFDocument } from "./xcaf-document.js";
18
18
  import { XCAFDocument as XCAFDocumentImpl } from "./xcaf-document.js";
19
- import { JoinType, OcctError, TransitionMode } from "./types.js";
19
+ export { renderMultiviewSVG, renderShapeSVG, } from "./svg.js";
20
+ import { renderMultiviewSVG as renderMultiviewSVGImpl, renderShapeSVG as renderShapeSVGImpl, } from "./svg.js";
21
+ import { JoinType, OcctError, SweepMode, TransitionMode } from "./types.js";
20
22
  // ---------------------------------------------------------------------------
21
23
  // Helpers
22
24
  // ---------------------------------------------------------------------------
@@ -147,6 +149,14 @@ export class OcctKernel {
147
149
  makeTorus(majorRadius, minorRadius) {
148
150
  return wrap("makeTorus", () => handle(this.#raw.makeTorus(majorRadius, minorRadius)));
149
151
  }
152
+ /**
153
+ * Infinite half-space solid bounded by the plane through `origin` with the
154
+ * given `normal`. The solid fills the side the normal points into — useful
155
+ * as an unbounded boolean cutting tool.
156
+ */
157
+ halfSpace(origin, normal) {
158
+ return wrap("halfSpace", () => handle(this.#raw.halfSpace(origin.x, origin.y, origin.z, normal.x, normal.y, normal.z)));
159
+ }
150
160
  /** Create an ellipsoid solid at the origin by scaling a sphere.
151
161
  * @param rx - radius along X
152
162
  * @param ry - radius along Y
@@ -229,6 +239,22 @@ export class OcctKernel {
229
239
  }
230
240
  });
231
241
  }
242
+ /**
243
+ * General-fuse cell selection: the union of all regions covered by two or
244
+ * more of the inputs. Unlike {@link fuseAll} (which keeps every cell), this
245
+ * keeps only the overlap regions via BOPAlgo_CellsBuilder.
246
+ */
247
+ intersectionCells(shapes) {
248
+ return wrap("intersectionCells", () => {
249
+ const vec = this.#makeVectorU32(shapes);
250
+ try {
251
+ return handle(this.#raw.intersectionCells(vec));
252
+ }
253
+ finally {
254
+ vec.delete();
255
+ }
256
+ });
257
+ }
232
258
  // =======================================================================
233
259
  // Modeling
234
260
  // =======================================================================
@@ -359,6 +385,15 @@ export class OcctKernel {
359
385
  sweepPipeShell(profile, spine, freenet = false, smooth = true) {
360
386
  return wrap("sweepPipeShell", () => handle(this.#raw.sweepPipeShell(profile, spine, freenet, smooth)));
361
387
  }
388
+ /**
389
+ * Sweep a profile wire along a spine wire with explicit profile-orientation
390
+ * control. `up` is required for {@link SweepMode.FixedUp} (the constant
391
+ * binormal direction); `auxSpine` is required for {@link SweepMode.Auxiliary}
392
+ * (the guide wire). Both are ignored for the other modes.
393
+ */
394
+ sweepOriented(profile, spine, mode = SweepMode.Fixed, up = { x: 0, y: 0, z: 1 }, auxSpine) {
395
+ return wrap("sweepOriented", () => handle(this.#raw.sweepOriented(profile, spine, mode, up.x, up.y, up.z, auxSpine ?? 0)));
396
+ }
362
397
  draftPrism(shape, dx, dy, dz, angleDeg) {
363
398
  return wrap("draftPrism", () => handle(this.#raw.draftPrism(shape, dx, dy, dz, angleDeg)));
364
399
  }
@@ -507,6 +542,33 @@ export class OcctKernel {
507
542
  translate(shape, dx, dy, dz) {
508
543
  return wrap("translate", () => handle(this.#raw.translate(shape, dx, dy, dz)));
509
544
  }
545
+ /**
546
+ * Translate along X so the chosen bounding-box anchor lands at `target`.
547
+ * Returns a new shape; the input is left untouched.
548
+ */
549
+ alignX(shape, target = 0, anchor = "center") {
550
+ return wrap("alignX", () => {
551
+ const bb = this.getBoundingBox(shape, false);
552
+ const cur = anchor === "min" ? bb.xmin : anchor === "max" ? bb.xmax : (bb.xmin + bb.xmax) / 2;
553
+ return handle(this.#raw.translate(shape, target - cur, 0, 0));
554
+ });
555
+ }
556
+ /** Translate along Y so the chosen bounding-box anchor lands at `target`. */
557
+ alignY(shape, target = 0, anchor = "center") {
558
+ return wrap("alignY", () => {
559
+ const bb = this.getBoundingBox(shape, false);
560
+ const cur = anchor === "min" ? bb.ymin : anchor === "max" ? bb.ymax : (bb.ymin + bb.ymax) / 2;
561
+ return handle(this.#raw.translate(shape, 0, target - cur, 0));
562
+ });
563
+ }
564
+ /** Translate along Z so the chosen bounding-box anchor lands at `target`. */
565
+ alignZ(shape, target = 0, anchor = "center") {
566
+ return wrap("alignZ", () => {
567
+ const bb = this.getBoundingBox(shape, false);
568
+ const cur = anchor === "min" ? bb.zmin : anchor === "max" ? bb.zmax : (bb.zmin + bb.zmax) / 2;
569
+ return handle(this.#raw.translate(shape, 0, 0, target - cur));
570
+ });
571
+ }
510
572
  rotate(shape, axis, angleRad) {
511
573
  return wrap("rotate", () => handle(this.#raw.rotate(shape, axis.point.x, axis.point.y, axis.point.z, axis.direction.x, axis.direction.y, axis.direction.z, angleRad)));
512
574
  }
@@ -768,7 +830,10 @@ export class OcctKernel {
768
830
  return wrap("tessellate", () => {
769
831
  const linDefl = options?.linearDeflection ?? 0.1;
770
832
  const angDefl = options?.angularDeflection ?? 0.5;
771
- return this.#extractMesh(this.#raw.tessellate(shape, linDefl, angDefl));
833
+ const raw = options?.relative
834
+ ? this.#raw.tessellateRelative(shape, linDefl, angDefl)
835
+ : this.#raw.tessellate(shape, linDefl, angDefl);
836
+ return this.#extractMesh(raw);
772
837
  });
773
838
  }
774
839
  /** Sample edges as polylines for wireframe rendering. */
@@ -856,6 +921,28 @@ export class OcctKernel {
856
921
  fromBREP(data) {
857
922
  return wrap("fromBREP", () => handle(this.#raw.fromBREP(data)));
858
923
  }
924
+ /** Serialize a shape to binary BREP (smaller/faster than the text format). */
925
+ toBREPBinary(shape) {
926
+ return wrap("toBREPBinary", () => {
927
+ const path = this.#raw.exportBrepBinary(shape);
928
+ const bytes = this.#module.FS.readFile(path);
929
+ this.#module.FS.unlink(path);
930
+ return bytes;
931
+ });
932
+ }
933
+ /** Load a shape from binary BREP produced by {@link toBREPBinary}. */
934
+ fromBREPBinary(data) {
935
+ return wrap("fromBREPBinary", () => {
936
+ const path = "/tmp/occt-import.brep.bin";
937
+ this.#module.FS.writeFile(path, data);
938
+ try {
939
+ return handle(this.#raw.importBrepBinary(path));
940
+ }
941
+ finally {
942
+ this.#module.FS.unlink(path);
943
+ }
944
+ });
945
+ }
859
946
  cacheStep(stepData) {
860
947
  const shape = this.importStep(stepData);
861
948
  try {
@@ -904,6 +991,17 @@ export class OcctKernel {
904
991
  return this.#vec3FromEmbind(v);
905
992
  });
906
993
  }
994
+ /**
995
+ * Matrix of inertia about the center of mass, as a row-major 3×3 array
996
+ * (length 9). Symmetric: `[1]==[3]`, `[2]==[6]`, `[5]==[7]`.
997
+ */
998
+ getInertia(shape) {
999
+ return wrap("getInertia", () => Array.from(this.#drainVector(this.#raw.getInertia(shape), Float64Array)));
1000
+ }
1001
+ /** True if `point` lies inside (or on the boundary of) a solid. */
1002
+ containsPoint(shape, point, tolerance = 1e-7) {
1003
+ return wrap("containsPoint", () => this.#raw.containsPoint(shape, point.x, point.y, point.z, tolerance));
1004
+ }
907
1005
  /**
908
1006
  * Surface (area-weighted) center of mass for a face. Equivalent to
909
1007
  * `BRepGProp::SurfaceProperties(face, props).CentreOfMass()`.
@@ -1049,6 +1147,32 @@ export class OcctKernel {
1049
1147
  }
1050
1148
  });
1051
1149
  }
1150
+ /**
1151
+ * Interpolate a cubic B-spline through the points with clamped start/end
1152
+ * tangent directions.
1153
+ */
1154
+ interpolatePointsWithTangents(points, startTangent, endTangent) {
1155
+ return wrap("interpolatePointsWithTangents", () => {
1156
+ const flat = this.#flattenPoints(points);
1157
+ try {
1158
+ return handle(this.#raw.interpolatePointsWithTangents(flat, startTangent.x, startTangent.y, startTangent.z, endTangent.x, endTangent.y, endTangent.z));
1159
+ }
1160
+ finally {
1161
+ flat.delete();
1162
+ }
1163
+ });
1164
+ }
1165
+ /** Closest point on an edge to `point`, with the curve tangent and parameter there. */
1166
+ projectPointOnEdge(edge, point) {
1167
+ return wrap("projectPointOnEdge", () => {
1168
+ const r = this.#drainVector(this.#raw.projectPointOnEdge(edge, point.x, point.y, point.z), Float64Array);
1169
+ return {
1170
+ point: { x: r[0], y: r[1], z: r[2] },
1171
+ tangent: { x: r[3], y: r[4], z: r[5] },
1172
+ parameter: r[6],
1173
+ };
1174
+ });
1175
+ }
1052
1176
  approximatePoints(points, tolerance = 1e-3) {
1053
1177
  return wrap("approximatePoints", () => {
1054
1178
  const flat = this.#flattenPoints(points);
@@ -1112,6 +1236,21 @@ export class OcctKernel {
1112
1236
  };
1113
1237
  });
1114
1238
  }
1239
+ /**
1240
+ * Render a single named view of a shape to a standalone SVG string via
1241
+ * hidden-line removal. Visible edges are solid, hidden edges dashed.
1242
+ */
1243
+ toSVG(shape, view = "front", options = {}) {
1244
+ return wrap("toSVG", () => renderShapeSVGImpl(this, shape, view, options));
1245
+ }
1246
+ /**
1247
+ * Render a multiview grid (default Front / Top / Right / Iso) of a shape to
1248
+ * a single SVG string, with per-view gnomons and an overall size annotation.
1249
+ * Aimed at giving an automated agent a readable picture of the geometry.
1250
+ */
1251
+ toMultiviewSVG(shape, options = {}) {
1252
+ return wrap("toMultiviewSVG", () => renderMultiviewSVGImpl(this, shape, options));
1253
+ }
1115
1254
  // =======================================================================
1116
1255
  // Modifiers
1117
1256
  // =======================================================================