okgeometry-api 1.1.18 → 1.1.19
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/Mesh.d.ts +6 -1
- package/dist/Mesh.d.ts.map +1 -1
- package/dist/Mesh.js +16 -3
- package/dist/Mesh.js.map +1 -1
- package/dist/wasm-base64.d.ts +1 -1
- package/dist/wasm-base64.d.ts.map +1 -1
- package/dist/wasm-base64.js +1 -1
- package/dist/wasm-base64.js.map +1 -1
- package/dist/wasm-bindings.d.ts +30 -0
- package/dist/wasm-bindings.d.ts.map +1 -1
- package/dist/wasm-bindings.js +74 -1
- package/dist/wasm-bindings.js.map +1 -1
- package/package.json +4 -3
- package/src/Mesh.ts +41 -27
- package/src/wasm-base64.ts +1 -1
- package/src/wasm-bindings.d.ts +17 -0
- package/src/wasm-bindings.js +75 -1
package/src/wasm-bindings.d.ts
CHANGED
|
@@ -159,6 +159,8 @@ export function make_nurbs_curves_compatible(curves_data: Float64Array): Float64
|
|
|
159
159
|
*/
|
|
160
160
|
export function mesh_apply_matrix(vertex_count: number, buffer: Float64Array, matrix: Float64Array): Float64Array;
|
|
161
161
|
|
|
162
|
+
export function mesh_boolean_finalize_stage_summary_debug(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): string;
|
|
163
|
+
|
|
162
164
|
/**
|
|
163
165
|
* Perform boolean intersection on two meshes
|
|
164
166
|
*/
|
|
@@ -252,6 +254,8 @@ export function mesh_boolean_operation_debug(vertex_count_a: number, buffer_a: F
|
|
|
252
254
|
*/
|
|
253
255
|
export function mesh_boolean_operation_profiled(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): Float64Array;
|
|
254
256
|
|
|
257
|
+
export function mesh_boolean_primary_output_summary_debug(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): string;
|
|
258
|
+
|
|
255
259
|
/**
|
|
256
260
|
* Perform boolean subtraction on two meshes (A - B)
|
|
257
261
|
*/
|
|
@@ -495,6 +499,16 @@ export function mesh_scale(vertex_count: number, buffer: Float64Array, sx: numbe
|
|
|
495
499
|
*/
|
|
496
500
|
export function mesh_topology_metrics(vertex_count: number, buffer: Float64Array): Float64Array;
|
|
497
501
|
|
|
502
|
+
/**
|
|
503
|
+
* Return raw index-topology metrics for a triangulated mesh buffer:
|
|
504
|
+
* `[boundary_edges, non_manifold_edges]`.
|
|
505
|
+
*
|
|
506
|
+
* Unlike `mesh_topology_metrics`, this preserves duplicate same-position seam
|
|
507
|
+
* vertices. That makes it a closer fit for trusted MeshGL-style boolean meshes,
|
|
508
|
+
* where manifoldness comes from explicit topology rather than position welding.
|
|
509
|
+
*/
|
|
510
|
+
export function mesh_topology_metrics_raw(vertex_count: number, buffer: Float64Array): Float64Array;
|
|
511
|
+
|
|
498
512
|
/**
|
|
499
513
|
* Translate a mesh by an offset vector and return new buffers
|
|
500
514
|
*/
|
|
@@ -656,11 +670,13 @@ export interface InitOutput {
|
|
|
656
670
|
readonly loft_polylines: (a: number, b: number, c: number, d: number) => [number, number];
|
|
657
671
|
readonly make_nurbs_curves_compatible: (a: number, b: number) => [number, number];
|
|
658
672
|
readonly mesh_apply_matrix: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
673
|
+
readonly mesh_boolean_finalize_stage_summary_debug: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
659
674
|
readonly mesh_boolean_intersection: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
660
675
|
readonly mesh_boolean_last_debug_marker: () => number;
|
|
661
676
|
readonly mesh_boolean_operation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
662
677
|
readonly mesh_boolean_operation_debug: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
663
678
|
readonly mesh_boolean_operation_profiled: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
679
|
+
readonly mesh_boolean_primary_output_summary_debug: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
664
680
|
readonly mesh_boolean_subtraction: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
665
681
|
readonly mesh_boolean_union: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
666
682
|
readonly mesh_boolean_whole_partial_candidate: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
@@ -703,6 +719,7 @@ export interface InitOutput {
|
|
|
703
719
|
readonly mesh_rotate: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
704
720
|
readonly mesh_scale: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
705
721
|
readonly mesh_topology_metrics: (a: number, b: number, c: number) => [number, number];
|
|
722
|
+
readonly mesh_topology_metrics_raw: (a: number, b: number, c: number) => [number, number];
|
|
706
723
|
readonly mesh_translate: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
707
724
|
readonly nurbs_curve_curve_intersect: (a: number, b: number, c: number, d: number) => [number, number];
|
|
708
725
|
readonly nurbs_curve_plane_intersect: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
package/src/wasm-bindings.js
CHANGED
|
@@ -451,6 +451,33 @@ export function mesh_apply_matrix(vertex_count, buffer, matrix) {
|
|
|
451
451
|
return v3;
|
|
452
452
|
}
|
|
453
453
|
|
|
454
|
+
/**
|
|
455
|
+
* @param {number} vertex_count_a
|
|
456
|
+
* @param {Float64Array} buffer_a
|
|
457
|
+
* @param {number} vertex_count_b
|
|
458
|
+
* @param {Float64Array} buffer_b
|
|
459
|
+
* @param {string} operation
|
|
460
|
+
* @returns {string}
|
|
461
|
+
*/
|
|
462
|
+
export function mesh_boolean_finalize_stage_summary_debug(vertex_count_a, buffer_a, vertex_count_b, buffer_b, operation) {
|
|
463
|
+
let deferred4_0;
|
|
464
|
+
let deferred4_1;
|
|
465
|
+
try {
|
|
466
|
+
const ptr0 = passArrayF64ToWasm0(buffer_a, wasm.__wbindgen_malloc);
|
|
467
|
+
const len0 = WASM_VECTOR_LEN;
|
|
468
|
+
const ptr1 = passArrayF64ToWasm0(buffer_b, wasm.__wbindgen_malloc);
|
|
469
|
+
const len1 = WASM_VECTOR_LEN;
|
|
470
|
+
const ptr2 = passStringToWasm0(operation, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
471
|
+
const len2 = WASM_VECTOR_LEN;
|
|
472
|
+
const ret = wasm.mesh_boolean_finalize_stage_summary_debug(vertex_count_a, ptr0, len0, vertex_count_b, ptr1, len1, ptr2, len2);
|
|
473
|
+
deferred4_0 = ret[0];
|
|
474
|
+
deferred4_1 = ret[1];
|
|
475
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
476
|
+
} finally {
|
|
477
|
+
wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
|
|
454
481
|
/**
|
|
455
482
|
* Perform boolean intersection on two meshes
|
|
456
483
|
* @param {number} vertex_count_a
|
|
@@ -623,6 +650,33 @@ export function mesh_boolean_operation_profiled(vertex_count_a, buffer_a, vertex
|
|
|
623
650
|
return v4;
|
|
624
651
|
}
|
|
625
652
|
|
|
653
|
+
/**
|
|
654
|
+
* @param {number} vertex_count_a
|
|
655
|
+
* @param {Float64Array} buffer_a
|
|
656
|
+
* @param {number} vertex_count_b
|
|
657
|
+
* @param {Float64Array} buffer_b
|
|
658
|
+
* @param {string} operation
|
|
659
|
+
* @returns {string}
|
|
660
|
+
*/
|
|
661
|
+
export function mesh_boolean_primary_output_summary_debug(vertex_count_a, buffer_a, vertex_count_b, buffer_b, operation) {
|
|
662
|
+
let deferred4_0;
|
|
663
|
+
let deferred4_1;
|
|
664
|
+
try {
|
|
665
|
+
const ptr0 = passArrayF64ToWasm0(buffer_a, wasm.__wbindgen_malloc);
|
|
666
|
+
const len0 = WASM_VECTOR_LEN;
|
|
667
|
+
const ptr1 = passArrayF64ToWasm0(buffer_b, wasm.__wbindgen_malloc);
|
|
668
|
+
const len1 = WASM_VECTOR_LEN;
|
|
669
|
+
const ptr2 = passStringToWasm0(operation, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
670
|
+
const len2 = WASM_VECTOR_LEN;
|
|
671
|
+
const ret = wasm.mesh_boolean_primary_output_summary_debug(vertex_count_a, ptr0, len0, vertex_count_b, ptr1, len1, ptr2, len2);
|
|
672
|
+
deferred4_0 = ret[0];
|
|
673
|
+
deferred4_1 = ret[1];
|
|
674
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
675
|
+
} finally {
|
|
676
|
+
wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
|
|
626
680
|
/**
|
|
627
681
|
* Perform boolean subtraction on two meshes (A - B)
|
|
628
682
|
* @param {number} vertex_count_a
|
|
@@ -1401,6 +1455,26 @@ export function mesh_topology_metrics(vertex_count, buffer) {
|
|
|
1401
1455
|
return v2;
|
|
1402
1456
|
}
|
|
1403
1457
|
|
|
1458
|
+
/**
|
|
1459
|
+
* Return raw index-topology metrics for a triangulated mesh buffer:
|
|
1460
|
+
* `[boundary_edges, non_manifold_edges]`.
|
|
1461
|
+
*
|
|
1462
|
+
* Unlike `mesh_topology_metrics`, this preserves duplicate same-position seam
|
|
1463
|
+
* vertices. That makes it a closer fit for trusted MeshGL-style boolean meshes,
|
|
1464
|
+
* where manifoldness comes from explicit topology rather than position welding.
|
|
1465
|
+
* @param {number} vertex_count
|
|
1466
|
+
* @param {Float64Array} buffer
|
|
1467
|
+
* @returns {Float64Array}
|
|
1468
|
+
*/
|
|
1469
|
+
export function mesh_topology_metrics_raw(vertex_count, buffer) {
|
|
1470
|
+
const ptr0 = passArrayF64ToWasm0(buffer, wasm.__wbindgen_malloc);
|
|
1471
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1472
|
+
const ret = wasm.mesh_topology_metrics_raw(vertex_count, ptr0, len0);
|
|
1473
|
+
var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
|
|
1474
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
|
|
1475
|
+
return v2;
|
|
1476
|
+
}
|
|
1477
|
+
|
|
1404
1478
|
/**
|
|
1405
1479
|
* Translate a mesh by an offset vector and return new buffers
|
|
1406
1480
|
* @param {number} vertex_count
|
|
@@ -1777,7 +1851,7 @@ export function version() {
|
|
|
1777
1851
|
function __wbg_get_imports() {
|
|
1778
1852
|
const import0 = {
|
|
1779
1853
|
__proto__: null,
|
|
1780
|
-
|
|
1854
|
+
__wbg___okgeometry_boolean_should_cancel_e9cae7a8bf9ae3e0: function() {
|
|
1781
1855
|
const ret = globalThis.__okgeometry_boolean_should_cancel();
|
|
1782
1856
|
return ret;
|
|
1783
1857
|
},
|