okgeometry-api 0.4.6 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/Mesh.d.ts +3 -2
  2. package/dist/Mesh.d.ts.map +1 -1
  3. package/dist/Mesh.js +37 -34
  4. package/dist/Mesh.js.map +1 -1
  5. package/dist/engine.d.ts.map +1 -1
  6. package/dist/engine.js +57 -1
  7. package/dist/engine.js.map +1 -1
  8. package/dist/mesh-boolean.pool.d.ts.map +1 -1
  9. package/dist/mesh-boolean.pool.js +31 -1
  10. package/dist/mesh-boolean.pool.js.map +1 -1
  11. package/dist/mesh-boolean.protocol.d.ts +12 -0
  12. package/dist/mesh-boolean.protocol.d.ts.map +1 -1
  13. package/dist/mesh-boolean.protocol.js.map +1 -1
  14. package/dist/mesh-boolean.worker.d.ts.map +1 -1
  15. package/dist/mesh-boolean.worker.js +25 -4
  16. package/dist/mesh-boolean.worker.js.map +1 -1
  17. package/dist/wasm-base64.d.ts +1 -1
  18. package/dist/wasm-base64.d.ts.map +1 -1
  19. package/dist/wasm-base64.js +1 -1
  20. package/dist/wasm-base64.js.map +1 -1
  21. package/package.json +4 -1
  22. package/src/Arc.ts +117 -0
  23. package/src/BufferCodec.ts +181 -0
  24. package/src/Circle.ts +153 -0
  25. package/src/Geometry.ts +39 -0
  26. package/src/Line.ts +144 -0
  27. package/src/Mesh.ts +1476 -0
  28. package/src/NurbsCurve.ts +240 -0
  29. package/src/NurbsSurface.ts +267 -0
  30. package/src/Plane.ts +132 -0
  31. package/src/Point.ts +145 -0
  32. package/src/PolyCurve.ts +306 -0
  33. package/src/Polygon.ts +75 -0
  34. package/src/Polyline.ts +153 -0
  35. package/src/Ray.ts +90 -0
  36. package/src/Vec3.ts +159 -0
  37. package/src/engine.ts +92 -0
  38. package/src/index.ts +45 -0
  39. package/src/mesh-boolean.pool.ts +481 -0
  40. package/src/mesh-boolean.protocol.ts +122 -0
  41. package/src/mesh-boolean.worker.ts +160 -0
  42. package/src/types.ts +84 -0
  43. package/src/wasm-base64.ts +2 -0
  44. package/wasm/okgeometrycore.d.ts +9 -0
  45. package/wasm/okgeometrycore.js +35 -0
  46. package/wasm/okgeometrycore_bg.wasm +0 -0
  47. package/wasm/okgeometrycore_bg.wasm.d.ts +1 -0
@@ -179,6 +179,14 @@ export function mesh_boolean_intersection(vertex_count_a: number, buffer_a: Floa
179
179
  */
180
180
  export function mesh_boolean_operation(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): Float64Array;
181
181
 
182
+ /**
183
+ * Perform boolean operation on two meshes with explicit backend selection.
184
+ *
185
+ * # Parameters
186
+ * * `backend` - "nextgen".
187
+ */
188
+ export function mesh_boolean_operation_with_backend(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string, backend: string): Float64Array;
189
+
182
190
  /**
183
191
  * Perform boolean subtraction on two meshes (A - B)
184
192
  */
@@ -573,6 +581,7 @@ export interface InitOutput {
573
581
  readonly mesh_apply_matrix: (a: number, b: number, c: number, d: number, e: number) => [number, number];
574
582
  readonly mesh_boolean_intersection: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
575
583
  readonly mesh_boolean_operation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
584
+ readonly mesh_boolean_operation_with_backend: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
576
585
  readonly mesh_boolean_subtraction: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
577
586
  readonly mesh_boolean_union: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
578
587
  readonly mesh_boundary_polylines: (a: number, b: number, c: number) => [number, number];
@@ -502,6 +502,34 @@ export function mesh_boolean_operation(vertex_count_a, buffer_a, vertex_count_b,
502
502
  return v4;
503
503
  }
504
504
 
505
+ /**
506
+ * Perform boolean operation on two meshes with explicit backend selection.
507
+ *
508
+ * # Parameters
509
+ * * `backend` - "nextgen".
510
+ * @param {number} vertex_count_a
511
+ * @param {Float64Array} buffer_a
512
+ * @param {number} vertex_count_b
513
+ * @param {Float64Array} buffer_b
514
+ * @param {string} operation
515
+ * @param {string} backend
516
+ * @returns {Float64Array}
517
+ */
518
+ export function mesh_boolean_operation_with_backend(vertex_count_a, buffer_a, vertex_count_b, buffer_b, operation, backend) {
519
+ const ptr0 = passArrayF64ToWasm0(buffer_a, wasm.__wbindgen_malloc);
520
+ const len0 = WASM_VECTOR_LEN;
521
+ const ptr1 = passArrayF64ToWasm0(buffer_b, wasm.__wbindgen_malloc);
522
+ const len1 = WASM_VECTOR_LEN;
523
+ const ptr2 = passStringToWasm0(operation, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
524
+ const len2 = WASM_VECTOR_LEN;
525
+ const ptr3 = passStringToWasm0(backend, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
526
+ const len3 = WASM_VECTOR_LEN;
527
+ const ret = wasm.mesh_boolean_operation_with_backend(vertex_count_a, ptr0, len0, vertex_count_b, ptr1, len1, ptr2, len2, ptr3, len3);
528
+ var v5 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
529
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
530
+ return v5;
531
+ }
532
+
505
533
  /**
506
534
  * Perform boolean subtraction on two meshes (A - B)
507
535
  * @param {number} vertex_count_a
@@ -1577,6 +1605,13 @@ export function version() {
1577
1605
  function __wbg_get_imports() {
1578
1606
  const import0 = {
1579
1607
  __proto__: null,
1608
+ __wbg___okgeometry_boolean_should_cancel_3e76652b5286d323: function() {
1609
+ const ret = globalThis.__okgeometry_boolean_should_cancel();
1610
+ return ret;
1611
+ },
1612
+ __wbg___wbindgen_throw_be289d5034ed271b: function(arg0, arg1) {
1613
+ throw new Error(getStringFromWasm0(arg0, arg1));
1614
+ },
1580
1615
  __wbindgen_init_externref_table: function() {
1581
1616
  const table = wasm.__wbindgen_externrefs;
1582
1617
  const offset = table.grow(4);
Binary file
@@ -27,6 +27,7 @@ export const make_nurbs_curves_compatible: (a: number, b: number) => [number, nu
27
27
  export const mesh_apply_matrix: (a: number, b: number, c: number, d: number, e: number) => [number, number];
28
28
  export const mesh_boolean_intersection: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
29
29
  export const mesh_boolean_operation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
30
+ export const mesh_boolean_operation_with_backend: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
30
31
  export const mesh_boolean_subtraction: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
31
32
  export const mesh_boolean_union: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
32
33
  export const mesh_boundary_polylines: (a: number, b: number, c: number) => [number, number];