okgeometry-api 1.1.6 → 1.1.7
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/Arc.js +1 -1
- package/dist/Arc.js.map +1 -1
- package/dist/Circle.js +1 -1
- package/dist/Circle.js.map +1 -1
- package/dist/Line.js +1 -1
- package/dist/Line.js.map +1 -1
- package/dist/Mesh.d.ts +101 -4
- package/dist/Mesh.d.ts.map +1 -1
- package/dist/Mesh.js +103 -5
- package/dist/Mesh.js.map +1 -1
- package/dist/NurbsCurve.js +1 -1
- package/dist/NurbsCurve.js.map +1 -1
- package/dist/NurbsSurface.d.ts.map +1 -1
- package/dist/NurbsSurface.js +10 -7
- package/dist/NurbsSurface.js.map +1 -1
- package/dist/PolyCurve.js +1 -1
- package/dist/PolyCurve.js.map +1 -1
- package/dist/Polyline.js +1 -1
- package/dist/Polyline.js.map +1 -1
- package/dist/Ray.js +1 -1
- package/dist/Ray.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +1 -3
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.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/package.json +7 -6
- package/src/Arc.ts +117 -117
- package/src/Circle.ts +153 -153
- package/src/Line.ts +144 -144
- package/src/Mesh.ts +671 -452
- package/src/NurbsCurve.ts +240 -240
- package/src/NurbsSurface.ts +249 -245
- package/src/PolyCurve.ts +306 -306
- package/src/Polyline.ts +153 -153
- package/src/Ray.ts +90 -90
- package/src/engine.ts +9 -11
- package/src/index.ts +6 -0
- package/src/wasm-base64.ts +1 -1
- package/wasm/README.md +0 -104
- package/wasm/okgeometrycore.d.ts +0 -754
- package/wasm/okgeometrycore.js +0 -2005
- package/wasm/okgeometrycore_bg.d.ts +0 -3
- package/wasm/okgeometrycore_bg.js +0 -1686
- package/wasm/okgeometrycore_bg.wasm +0 -0
- package/wasm/okgeometrycore_bg.wasm.d.ts +0 -100
- package/wasm/package.json +0 -19
package/wasm/okgeometrycore.d.ts
DELETED
|
@@ -1,754 +0,0 @@
|
|
|
1
|
-
/* tslint:disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Get the length of an arc.
|
|
6
|
-
*/
|
|
7
|
-
export function arc_length(radius: number, start_angle: number, end_angle: number): number;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Evaluate a point on an arc at parameter t ∈ [0,1].
|
|
11
|
-
* Returns [x, y, z].
|
|
12
|
-
*/
|
|
13
|
-
export function arc_point_at(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number, start_angle: number, end_angle: number, t: number): Float64Array;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Chamfer corners of a polyline by cutting each corner with a straight segment.
|
|
17
|
-
* Input: flat coords [x1,y1,z1, ...], distance from corner to cut.
|
|
18
|
-
* Output: encoded polycurve segments [segment_count, type, ...data, ...]
|
|
19
|
-
* type 0 = Line: [sx,sy,sz, ex,ey,ez]
|
|
20
|
-
*/
|
|
21
|
-
export function chamfer_polycurve(coords: Float64Array, distance: number): Float64Array;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Get the circumference of a circle.
|
|
25
|
-
*/
|
|
26
|
-
export function circle_length(radius: number): number;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Evaluate a point on a circle at parameter t ∈ [0,1].
|
|
30
|
-
* Returns [x, y, z].
|
|
31
|
-
*/
|
|
32
|
-
export function circle_point_at(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number, t: number): Float64Array;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Create an arc and return sampled points
|
|
36
|
-
*/
|
|
37
|
-
export function create_arc(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number, start_angle: number, end_angle: number, samples: number): Float64Array;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Create a circle and return sampled points
|
|
41
|
-
*/
|
|
42
|
-
export function create_circle(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number, samples: number): Float64Array;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Create a line segment and return sampled points
|
|
46
|
-
*/
|
|
47
|
-
export function create_line(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, samples: number): Float64Array;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Create a polyline and return the points
|
|
51
|
-
*/
|
|
52
|
-
export function create_polyline(coords: Float64Array, samples_per_segment: number): Float64Array;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Serialize a curve to a list of points for Three.js rendering
|
|
56
|
-
* Returns a flat array of coordinates: [x1, y1, z1, x2, y2, z2, ...]
|
|
57
|
-
*/
|
|
58
|
-
export function curve_to_points(curve_type: string, params: Float64Array, samples: number): Float64Array;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Evaluate a NURBS curve at normalized parameter t in [0,1].
|
|
62
|
-
* Returns [x, y, z].
|
|
63
|
-
*/
|
|
64
|
-
export function evaluate_nurbs_curve_at(data: Float64Array, t: number): Float64Array;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Extrude a circle and return mesh buffers
|
|
68
|
-
*/
|
|
69
|
-
export function extrude_circle(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number, dx: number, dy: number, dz: number, segments: number, with_caps: boolean): Float64Array;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Extrude a line segment and return mesh buffers
|
|
73
|
-
*/
|
|
74
|
-
export function extrude_line(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, dx: number, dy: number, dz: number, segments: number): Float64Array;
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Extrude a polyline and return mesh buffers.
|
|
78
|
-
* Uses the polyline's actual vertices (no resampling) to preserve sharp corners.
|
|
79
|
-
*/
|
|
80
|
-
export function extrude_polyline(coords: Float64Array, dx: number, dy: number, dz: number, _segments: number, with_caps: boolean): Float64Array;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Fillet corners of a polyline with arcs of a given radius.
|
|
84
|
-
* Input: flat coords [x1,y1,z1, ...], radius, plane normal (nx,ny,nz; 0,0,0 for auto).
|
|
85
|
-
* Output: encoded polycurve segments [segment_count, type, ...data, type, ...data, ...]
|
|
86
|
-
* type 0 = Line: [sx,sy,sz, ex,ey,ez]
|
|
87
|
-
* type 1 = Arc: [cx,cy,cz, nx,ny,nz, radius, start_angle, end_angle]
|
|
88
|
-
*/
|
|
89
|
-
export function fillet_polycurve(coords: Float64Array, radius: number, nx: number, ny: number, nz: number): Float64Array;
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Get the length of a line segment.
|
|
93
|
-
*/
|
|
94
|
-
export function line_length(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Offset a line segment perpendicular to line direction relative to reference normal.
|
|
98
|
-
* Returns [startX,startY,startZ,endX,endY,endZ]
|
|
99
|
-
*/
|
|
100
|
-
export function line_offset(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, distance: number, nx: number, ny: number, nz: number): Float64Array;
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Evaluate a point on a line segment at parameter t ∈ [0,1].
|
|
104
|
-
* Returns [x, y, z].
|
|
105
|
-
*/
|
|
106
|
-
export function line_point_at(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, t: number): Float64Array;
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Get the tangent direction of a line segment. Returns [x, y, z].
|
|
110
|
-
*/
|
|
111
|
-
export function line_tangent(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): Float64Array;
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Loft between multiple circles
|
|
115
|
-
*
|
|
116
|
-
* # Parameters
|
|
117
|
-
* * `circle_data` - Flat array of circle definitions [cx, cy, cz, nx, ny, nz, radius, ...]
|
|
118
|
-
* * `segments` - Number of segments to sample along each curve
|
|
119
|
-
* * `with_caps` - Whether to create end caps
|
|
120
|
-
*
|
|
121
|
-
* # Returns
|
|
122
|
-
* Mesh buffers for the lofted surface
|
|
123
|
-
*/
|
|
124
|
-
export function loft_circles(circle_data: Float64Array, segments: number, with_caps: boolean): Float64Array;
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Loft a NURBS surface through multiple NURBS curves.
|
|
128
|
-
* Input: [num_curves, degree_v, curve1_data..., curve2_data..., ...]
|
|
129
|
-
* Each curve_data: [degree, num_pts, x,y,z,..., w0,w1,..., k0,k1,...]
|
|
130
|
-
* Returns the NurbsSurface data (same format as tessellate input, without u_segs/v_segs).
|
|
131
|
-
*/
|
|
132
|
-
export function loft_nurbs_surface(data: Float64Array): Float64Array;
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Loft between multiple polylines
|
|
136
|
-
*
|
|
137
|
-
* # Parameters
|
|
138
|
-
* * `polyline_data` - Flat array where each polyline is prefixed by its point count:
|
|
139
|
-
* [count1, x1, y1, z1, x2, y2, z2, ..., count2, x1, y1, z1, ...]
|
|
140
|
-
* * `_segments` - Ignored for polylines (kept for API compat). Points are used directly.
|
|
141
|
-
* * `with_caps` - Whether to create end caps (fan triangulation from center)
|
|
142
|
-
*
|
|
143
|
-
* # Returns
|
|
144
|
-
* Mesh buffers for the lofted surface
|
|
145
|
-
*/
|
|
146
|
-
export function loft_polylines(polyline_data: Float64Array, _segments: number, with_caps: boolean): Float64Array;
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Make multiple NURBS curves compatible (same knot vectors, same CP count).
|
|
150
|
-
* Input: [curve_count, curve1_data..., curve2_data..., ...]
|
|
151
|
-
* Each curve: [degree, num_cp, cp_xyz..., weights..., knots...]
|
|
152
|
-
* Output: same format with unified curves.
|
|
153
|
-
*/
|
|
154
|
-
export function make_nurbs_curves_compatible(curves_data: Float64Array): Float64Array;
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Apply a 4x4 transformation matrix to a mesh.
|
|
158
|
-
* matrix: flat [m00,m01,m02,m03, m10,m11,..., m30,m31,m32,m33] (16 elements, row-major)
|
|
159
|
-
*/
|
|
160
|
-
export function mesh_apply_matrix(vertex_count: number, buffer: Float64Array, matrix: Float64Array): Float64Array;
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Perform boolean intersection on two meshes
|
|
164
|
-
*/
|
|
165
|
-
export function mesh_boolean_intersection(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array): Float64Array;
|
|
166
|
-
|
|
167
|
-
export function mesh_boolean_last_debug_marker(): number;
|
|
168
|
-
|
|
169
|
-
export function mesh_boolean_operation(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): Float64Array;
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Debug helper: perform boolean operation and return a textual status,
|
|
173
|
-
* including kernel error reason on failure.
|
|
174
|
-
*/
|
|
175
|
-
export function mesh_boolean_operation_debug(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): string;
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Perform boolean operation and return stage-level profiling data followed by
|
|
179
|
-
* the result mesh buffer.
|
|
180
|
-
*
|
|
181
|
-
* Output format:
|
|
182
|
-
* [profile_len(=95), broadphase_ms, segments_ms, split_ms,
|
|
183
|
-
* split_touched_faces_a, split_source_faces_a, split_touched_faces_b, split_source_faces_b,
|
|
184
|
-
* classify_ms, classify_seed_ms, classify_strict_ms, classify_open_component_ms,
|
|
185
|
-
* extract_ms, extract_primary_ms, extract_fallback_ms,
|
|
186
|
-
* cleanup_ms, finalize_ms, finalize_cap_ms, finalize_recap_ms, finalize_stitch_ms,
|
|
187
|
-
* pair_accepted, pair_rejected, pair_degenerate,
|
|
188
|
-
* core_passes, core_total_ms, conservative_runs, conservative_ms, nudge_runs, nudge_ms,
|
|
189
|
-
* recompose_runs, recompose_ms, repair_runs, repair_ms,
|
|
190
|
-
* repair_loops, repair_loops_capped, repair_loop_vertices, repair_loop_max_vertices,
|
|
191
|
-
* arrangement_adj_attempts, arrangement_adj_fast_hits, arrangement_adj_disabled_split_limit,
|
|
192
|
-
* arrangement_adj_fallback_no_half_edges, arrangement_adj_fallback_collect_failed,
|
|
193
|
-
* arrangement_adj_fallback_non_manifold, arrangement_adj_fallback_loop_mismatch,
|
|
194
|
-
* arrangement_adj_fallback_twin_mismatch, arrangement_adj_fallback_invalid_face_index,
|
|
195
|
-
* arrangement_adj_non_manifold_edges_total, arrangement_adj_non_manifold_limit_total,
|
|
196
|
-
* arrangement_adj_non_manifold_tolerated_attempts,
|
|
197
|
-
* arrangement_adj_fallback_non_manifold_excess_total,
|
|
198
|
-
* subtraction_ultra_cases, subtraction_ultra_component_fallback_runs,
|
|
199
|
-
* subtraction_ultra_open_bounds_total, subtraction_ultra_open_bounds_max,
|
|
200
|
-
* subtraction_ultra_best_boundary_total, subtraction_ultra_best_non_manifold_total,
|
|
201
|
-
* subtraction_ultra_scoped_faces_total, subtraction_ultra_scoped_faces_max,
|
|
202
|
-
* subtraction_ultra_scoped_strict_evals_total, subtraction_ultra_scoped_strict_evals_max,
|
|
203
|
-
* finalize_stitch_rebuild_ms, finalize_stitch_recap_ms,
|
|
204
|
-
* finalize_stitch_attempts, finalize_stitch_kept,
|
|
205
|
-
* finalize_stitch_rebuild_collect_ms, finalize_stitch_rebuild_weld_ms,
|
|
206
|
-
* finalize_stitch_rebuild_commit_ms, finalize_stitch_rebuild_faces_in,
|
|
207
|
-
* finalize_stitch_rebuild_faces_out,
|
|
208
|
-
* whole_partial_attempts, whole_partial_accepts,
|
|
209
|
-
* whole_partial_total_ms, whole_partial_split_ms,
|
|
210
|
-
* whole_partial_boundary_build_ms,
|
|
211
|
-
* whole_partial_split_triangle_fast_faces,
|
|
212
|
-
* whole_partial_split_cdt_faces,
|
|
213
|
-
* whole_partial_split_cdt_points_total,
|
|
214
|
-
* whole_partial_split_cdt_constraints_total,
|
|
215
|
-
* whole_partial_split_cdt_segment_constraints_total,
|
|
216
|
-
* whole_partial_split_cdt_triangles_total,
|
|
217
|
-
* whole_partial_triangle_cdt_single_segment_faces,
|
|
218
|
-
* whole_partial_triangle_cdt_two_segment_faces,
|
|
219
|
-
* whole_partial_triangle_cdt_three_plus_segment_faces,
|
|
220
|
-
* whole_partial_triangle_cdt_all_boundary_segment_faces,
|
|
221
|
-
* whole_partial_triangle_cdt_mixed_boundary_segment_faces,
|
|
222
|
-
* whole_partial_triangle_cdt_any_interior_segment_faces,
|
|
223
|
-
* whole_partial_classify_source_ms, whole_partial_classify_touched_ms,
|
|
224
|
-
* whole_partial_extract_ms, whole_partial_extract_untouched_ms,
|
|
225
|
-
* whole_partial_extract_interface_ms, whole_partial_extract_touched_ms,
|
|
226
|
-
* whole_partial_finalize_ms,
|
|
227
|
-
* whole_partial_interface_faces_total,
|
|
228
|
-
* whole_partial_interface_faces_emitted,
|
|
229
|
-
* whole_partial_interface_boundary_edge_hits,
|
|
230
|
-
* whole_partial_interface_raw_edge_fallbacks,
|
|
231
|
-
* whole_partial_touched_faces_total,
|
|
232
|
-
* whole_partial_touched_faces_emitted,
|
|
233
|
-
* whole_partial_touched_patch_attempts,
|
|
234
|
-
* whole_partial_touched_patch_direct_regions,
|
|
235
|
-
* whole_partial_touched_patch_triangulated_faces,
|
|
236
|
-
* whole_partial_touched_fallback_faces,
|
|
237
|
-
* whole_partial_touched_lineage_vertices,
|
|
238
|
-
* whole_partial_touched_welded_vertices,
|
|
239
|
-
* whole_partial_raw_boundary_untouched_edges,
|
|
240
|
-
* whole_partial_raw_boundary_interface_edges,
|
|
241
|
-
* whole_partial_raw_boundary_touched_edges,
|
|
242
|
-
* whole_partial_raw_boundary_mixed_edges,
|
|
243
|
-
* whole_partial_raw_non_manifold_untouched_edges,
|
|
244
|
-
* whole_partial_raw_non_manifold_interface_edges,
|
|
245
|
-
* whole_partial_raw_non_manifold_touched_edges,
|
|
246
|
-
* whole_partial_raw_non_manifold_mixed_edges,
|
|
247
|
-
* whole_partial_boundary_edges_total,
|
|
248
|
-
* whole_partial_non_manifold_edges_total,
|
|
249
|
-
* whole_partial_face_ratio_vs_a_total,
|
|
250
|
-
* whole_partial_loop_plausible_total,
|
|
251
|
-
* mesh_buffer...]
|
|
252
|
-
*/
|
|
253
|
-
export function mesh_boolean_operation_profiled(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): Float64Array;
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* Perform boolean subtraction on two meshes (A - B)
|
|
257
|
-
*/
|
|
258
|
-
export function mesh_boolean_subtraction(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array): Float64Array;
|
|
259
|
-
|
|
260
|
-
/**
|
|
261
|
-
* Perform boolean union on two meshes
|
|
262
|
-
*/
|
|
263
|
-
export function mesh_boolean_union(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array): Float64Array;
|
|
264
|
-
|
|
265
|
-
export function mesh_boolean_whole_partial_candidate(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): Float64Array;
|
|
266
|
-
|
|
267
|
-
export function mesh_boolean_whole_partial_candidate_debug(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): Float64Array;
|
|
268
|
-
|
|
269
|
-
export function mesh_boolean_whole_partial_candidate_debug_full(vertex_count_a: number, buffer_a: Float64Array, vertex_count_b: number, buffer_b: Float64Array, operation: string): Float64Array;
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* Extract boundary (perimeter) edges from a mesh as polylines.
|
|
273
|
-
* Returns polyline buffer: [num_polylines, n1, x,y,z,..., n2, x,y,z,...]
|
|
274
|
-
*/
|
|
275
|
-
export function mesh_boundary_polylines(vertex_count: number, buffer: Float64Array): Float64Array;
|
|
276
|
-
|
|
277
|
-
/**
|
|
278
|
-
* Coplanar connected face groups.
|
|
279
|
-
* Output format:
|
|
280
|
-
* [groupCount, triCount, tri..., centroidX,centroidY,centroidZ, normalX,normalY,normalZ, ...]
|
|
281
|
-
*/
|
|
282
|
-
export function mesh_build_coplanar_connected_face_groups(vertex_count: number, buffer: Float64Array): Float64Array;
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* Chamfer all edges of a primitive mesh (flat bevel)
|
|
286
|
-
*
|
|
287
|
-
* # Arguments
|
|
288
|
-
* * `mesh_type` - "box", "cylinder", or "prism"
|
|
289
|
-
* * `params` - Parameters: [width,height,depth] for box, [radius,height,segments] for cylinder/prism
|
|
290
|
-
* * `offset` - Chamfer offset distance
|
|
291
|
-
*
|
|
292
|
-
* # Returns
|
|
293
|
-
* Result mesh buffer [vertexCount, vertices..., indices...]
|
|
294
|
-
*/
|
|
295
|
-
export function mesh_chamfer_all_edges(mesh_type: string, params: Float64Array, offset: number): Float64Array;
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Compute planar curve normal from ordered points.
|
|
299
|
-
*/
|
|
300
|
-
export function mesh_compute_planar_curve_normal(coords: Float64Array, closed: boolean): Float64Array;
|
|
301
|
-
|
|
302
|
-
/**
|
|
303
|
-
* Odd/even mesh containment test.
|
|
304
|
-
*/
|
|
305
|
-
export function mesh_contains_point(vertex_count: number, buffer: Float64Array, px: number, py: number, pz: number): boolean;
|
|
306
|
-
|
|
307
|
-
/**
|
|
308
|
-
* Create a box mesh and return buffers
|
|
309
|
-
* Returns [vertices..., indices...]
|
|
310
|
-
*/
|
|
311
|
-
export function mesh_create_box(width: number, height: number, depth: number): Float64Array;
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Create a cone mesh and return buffers
|
|
315
|
-
*/
|
|
316
|
-
export function mesh_create_cone(radius: number, height: number, segments: number): Float64Array;
|
|
317
|
-
|
|
318
|
-
/**
|
|
319
|
-
* Create a cylinder mesh and return buffers
|
|
320
|
-
*/
|
|
321
|
-
export function mesh_create_cylinder(radius: number, height: number, segments: number): Float64Array;
|
|
322
|
-
|
|
323
|
-
/**
|
|
324
|
-
* Create a prism mesh and return buffers
|
|
325
|
-
*/
|
|
326
|
-
export function mesh_create_prism(radius: number, height: number, sides: number): Float64Array;
|
|
327
|
-
|
|
328
|
-
/**
|
|
329
|
-
* Create a geodesic sphere mesh matching Manifold's sphere topology and return buffers
|
|
330
|
-
*/
|
|
331
|
-
export function mesh_create_sphere(radius: number, segments: number, rings: number): Float64Array;
|
|
332
|
-
|
|
333
|
-
/**
|
|
334
|
-
* Evaluate a point on a mesh surface at parametric coordinates (u, v).
|
|
335
|
-
* Maps u ∈ [0,1] and v ∈ [0,1] to the mesh's AABB bounding box,
|
|
336
|
-
* then casts a ray perpendicular to the best-fit projection plane.
|
|
337
|
-
* Returns [x, y, z] of the intersection point, or [NaN, NaN, NaN] if no hit.
|
|
338
|
-
*/
|
|
339
|
-
export function mesh_evaluate(vertex_count: number, buffer: Float64Array, u: number, v: number): Float64Array;
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* Export a mesh to OBJ format
|
|
343
|
-
* Takes mesh buffers as input (same format as mesh_to_buffers output)
|
|
344
|
-
* Returns OBJ string
|
|
345
|
-
*/
|
|
346
|
-
export function mesh_export_obj(vertex_count: number, buffer: Float64Array): string;
|
|
347
|
-
|
|
348
|
-
/**
|
|
349
|
-
* Push/pull a planar face set by moving its coplanar connected region.
|
|
350
|
-
*/
|
|
351
|
-
export function mesh_extrude_face(vertex_count: number, buffer: Float64Array, face_index: number, distance: number): Float64Array;
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* Extrude planar curve profile by normal * height.
|
|
355
|
-
*/
|
|
356
|
-
export function mesh_extrude_planar_curve(coords: Float64Array, nx: number, ny: number, nz: number, height: number, closed: boolean): Float64Array;
|
|
357
|
-
|
|
358
|
-
/**
|
|
359
|
-
* Find the best matching coplanar connected face group by normal and optional near-point.
|
|
360
|
-
* Output format: [centroidX, centroidY, centroidZ, normalX, normalY, normalZ] or [].
|
|
361
|
-
*/
|
|
362
|
-
export function mesh_find_face_group_by_normal(vertex_count: number, buffer: Float64Array, nx: number, ny: number, nz: number, near_x: number, near_y: number, near_z: number, use_near_point: boolean): Float64Array;
|
|
363
|
-
|
|
364
|
-
/**
|
|
365
|
-
* Find the coplanar connected face group containing triangle_index.
|
|
366
|
-
* Output format: [centroidX, centroidY, centroidZ, normalX, normalY, normalZ] or [].
|
|
367
|
-
*/
|
|
368
|
-
export function mesh_find_face_group_by_triangle_index(vertex_count: number, buffer: Float64Array, triangle_index: number): Float64Array;
|
|
369
|
-
|
|
370
|
-
/**
|
|
371
|
-
* Axis-aligned bounding box as [minX, minY, minZ, maxX, maxY, maxZ].
|
|
372
|
-
*/
|
|
373
|
-
export function mesh_get_bounds(vertex_count: number, buffer: Float64Array): Float64Array;
|
|
374
|
-
|
|
375
|
-
/**
|
|
376
|
-
* Coplanar connected face-group centroid containing a given triangle face index.
|
|
377
|
-
* Output format: [x, y, z] or [] when unavailable.
|
|
378
|
-
*/
|
|
379
|
-
export function mesh_get_coplanar_face_group_centroid(vertex_count: number, buffer: Float64Array, face_index: number): Float64Array;
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Edge-connected coplanar triangle indices as [count, i0, i1, ...].
|
|
383
|
-
*/
|
|
384
|
-
export function mesh_get_coplanar_face_indices(vertex_count: number, buffer: Float64Array, face_index: number): Float64Array;
|
|
385
|
-
|
|
386
|
-
/**
|
|
387
|
-
* Coplanar connected face region projected to a plane basis.
|
|
388
|
-
* Output format:
|
|
389
|
-
* [faceCount, faceIndex0, faceIndex1, ..., uMin, uMax, vMin, vMax]
|
|
390
|
-
*/
|
|
391
|
-
export function mesh_get_coplanar_face_region(vertex_count: number, buffer: Float64Array, face_index: number, ox: number, oy: number, oz: number, ux: number, uy: number, uz: number, vx: number, vy: number, vz: number, margin_scale: number, min_margin: number): Float64Array;
|
|
392
|
-
|
|
393
|
-
/**
|
|
394
|
-
* Unique undirected triangle edges as [edgeCount, v0a, v0b, v1a, v1b, ...].
|
|
395
|
-
*/
|
|
396
|
-
export function mesh_get_edge_vertex_pairs(vertex_count: number, buffer: Float64Array): Float64Array;
|
|
397
|
-
|
|
398
|
-
/**
|
|
399
|
-
* Face area.
|
|
400
|
-
*/
|
|
401
|
-
export function mesh_get_face_area(vertex_count: number, buffer: Float64Array, face_index: number): number;
|
|
402
|
-
|
|
403
|
-
/**
|
|
404
|
-
* Face centroid as [x, y, z].
|
|
405
|
-
*/
|
|
406
|
-
export function mesh_get_face_centroid(vertex_count: number, buffer: Float64Array, face_index: number): Float64Array;
|
|
407
|
-
|
|
408
|
-
/**
|
|
409
|
-
* Face normal as [x, y, z].
|
|
410
|
-
*/
|
|
411
|
-
export function mesh_get_face_normal(vertex_count: number, buffer: Float64Array, face_index: number): Float64Array;
|
|
412
|
-
|
|
413
|
-
/**
|
|
414
|
-
* Get mesh statistics
|
|
415
|
-
* Returns [vertex_count, face_count, edge_count]
|
|
416
|
-
*/
|
|
417
|
-
export function mesh_get_stats(vertex_count: number, buffer: Float64Array): Float64Array;
|
|
418
|
-
|
|
419
|
-
/**
|
|
420
|
-
* Import OBJ data and return mesh buffers
|
|
421
|
-
*/
|
|
422
|
-
export function mesh_import_obj(obj_data: string): Float64Array;
|
|
423
|
-
|
|
424
|
-
/**
|
|
425
|
-
* Check if triangulated mesh is a closed volume (no welded boundary edges).
|
|
426
|
-
*/
|
|
427
|
-
export function mesh_is_closed_volume(vertex_count: number, buffer: Float64Array): boolean;
|
|
428
|
-
|
|
429
|
-
/**
|
|
430
|
-
* Merge multiple mesh buffers while preserving per-mesh vertex order and index remapping.
|
|
431
|
-
* Input format: [mesh_count, len1, mesh1..., len2, mesh2..., ...]
|
|
432
|
-
*/
|
|
433
|
-
export function mesh_merge(mesh_data: Float64Array): Float64Array;
|
|
434
|
-
|
|
435
|
-
/**
|
|
436
|
-
* Intersect two meshes, returning intersection polyline points.
|
|
437
|
-
* Returns: [num_polylines, n1, x,y,z,..., n2, x,y,z,...]
|
|
438
|
-
*/
|
|
439
|
-
export function mesh_mesh_intersect(va_count: number, buffer_a: Float64Array, vb_count: number, buffer_b: Float64Array): Float64Array;
|
|
440
|
-
|
|
441
|
-
/**
|
|
442
|
-
* Create a planar patch mesh from boundary points using CDT.
|
|
443
|
-
* Correctly handles concave polygons (unlike fan triangulation).
|
|
444
|
-
* Input: flat coordinate array [x1,y1,z1, x2,y2,z2, ...]
|
|
445
|
-
* Output: mesh buffer [vertexCount, x1,y1,z1,..., i0,i1,i2, ...]
|
|
446
|
-
*/
|
|
447
|
-
export function mesh_patch_from_points(coords: Float64Array): Float64Array;
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* Intersect a mesh with a plane, returning polyline points.
|
|
451
|
-
* Input: vertex_count, mesh_buffer..., nx, ny, nz, d
|
|
452
|
-
* Returns: [num_polylines, n1, x,y,z,..., n2, x,y,z,...]
|
|
453
|
-
*/
|
|
454
|
-
export function mesh_plane_intersect(vertex_count: number, buffer: Float64Array, nx: number, ny: number, nz: number, d: number): Float64Array;
|
|
455
|
-
|
|
456
|
-
/**
|
|
457
|
-
* Shift closed boolean cutter curve and adjust height.
|
|
458
|
-
* Returns [height, epsilon, pointCount, x,y,z,...]
|
|
459
|
-
*/
|
|
460
|
-
export function mesh_prepare_boolean_cutter_curve(coords: Float64Array, closed: boolean, nx: number, ny: number, nz: number, height: number): Float64Array;
|
|
461
|
-
|
|
462
|
-
/**
|
|
463
|
-
* Raycast against mesh and return closest hit.
|
|
464
|
-
* Output: [] when no hit, otherwise [pointX,pointY,pointZ, normalX,normalY,normalZ, faceIndex, distance]
|
|
465
|
-
*/
|
|
466
|
-
export function mesh_raycast(vertex_count: number, buffer: Float64Array, ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, max_distance: number): Float64Array;
|
|
467
|
-
|
|
468
|
-
/**
|
|
469
|
-
* Raycast against mesh and return all hits sorted by distance.
|
|
470
|
-
* Output: [hitCount, (point, normal, faceIndex, distance)*]
|
|
471
|
-
*/
|
|
472
|
-
export function mesh_raycast_all(vertex_count: number, buffer: Float64Array, ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, max_distance: number): Float64Array;
|
|
473
|
-
|
|
474
|
-
/**
|
|
475
|
-
* Raycast against many meshes packed as:
|
|
476
|
-
* [meshCount, meshLen0, meshRaw0..., meshLen1, meshRaw1..., ...]
|
|
477
|
-
* Output: [hitCount, meshIndex, pointX,pointY,pointZ, normalX,normalY,normalZ, faceIndex, distance, ...]
|
|
478
|
-
*/
|
|
479
|
-
export function mesh_raycast_many(mesh_data: Float64Array, ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, max_distance: number): Float64Array;
|
|
480
|
-
|
|
481
|
-
/**
|
|
482
|
-
* Rotate a mesh around an arbitrary axis and return new buffers
|
|
483
|
-
* Axis is defined by (ax, ay, az), angle in radians
|
|
484
|
-
*/
|
|
485
|
-
export function mesh_rotate(vertex_count: number, buffer: Float64Array, ax: number, ay: number, az: number, angle: number): Float64Array;
|
|
486
|
-
|
|
487
|
-
/**
|
|
488
|
-
* Scale a mesh non-uniformly and return new buffers
|
|
489
|
-
*/
|
|
490
|
-
export function mesh_scale(vertex_count: number, buffer: Float64Array, sx: number, sy: number, sz: number): Float64Array;
|
|
491
|
-
|
|
492
|
-
/**
|
|
493
|
-
* Return welded-edge topology metrics for a triangulated mesh buffer:
|
|
494
|
-
* `[boundary_edges, non_manifold_edges]`.
|
|
495
|
-
*/
|
|
496
|
-
export function mesh_topology_metrics(vertex_count: number, buffer: Float64Array): Float64Array;
|
|
497
|
-
|
|
498
|
-
/**
|
|
499
|
-
* Translate a mesh by an offset vector and return new buffers
|
|
500
|
-
*/
|
|
501
|
-
export function mesh_translate(vertex_count: number, buffer: Float64Array, dx: number, dy: number, dz: number): Float64Array;
|
|
502
|
-
|
|
503
|
-
/**
|
|
504
|
-
* Intersect two NURBS curves.
|
|
505
|
-
* Returns: [num_points, x,y,z, ...]
|
|
506
|
-
*/
|
|
507
|
-
export function nurbs_curve_curve_intersect(data_a: Float64Array, data_b: Float64Array): Float64Array;
|
|
508
|
-
|
|
509
|
-
/**
|
|
510
|
-
* Intersect a NURBS curve with a plane.
|
|
511
|
-
* Input: same curve format as sample_nurbs_curve + plane normal (nx,ny,nz) and d.
|
|
512
|
-
* Returns: [num_points, x,y,z, x,y,z, ...]
|
|
513
|
-
*/
|
|
514
|
-
export function nurbs_curve_plane_intersect(data: Float64Array, nx: number, ny: number, nz: number, d: number): Float64Array;
|
|
515
|
-
|
|
516
|
-
/**
|
|
517
|
-
* Evaluate a NURBS surface at (u, v) parameters.
|
|
518
|
-
* Input format: same as tessellate but last 2 values are u, v instead of u_segs, v_segs
|
|
519
|
-
* Returns [x, y, z]
|
|
520
|
-
*/
|
|
521
|
-
export function nurbs_surface_evaluate(data: Float64Array, u: number, v: number): Float64Array;
|
|
522
|
-
|
|
523
|
-
/**
|
|
524
|
-
* Intersect a NURBS surface with a plane.
|
|
525
|
-
* Input: same surface format as tessellate_nurbs_surface, then plane (nx,ny,nz,d) appended.
|
|
526
|
-
* Returns polyline buffer: [num_polylines, n1, x,y,z,..., n2, x,y,z,...]
|
|
527
|
-
*/
|
|
528
|
-
export function nurbs_surface_plane_intersect(surface_data: Float64Array, nx: number, ny: number, nz: number, d: number, tess: number): Float64Array;
|
|
529
|
-
|
|
530
|
-
/**
|
|
531
|
-
* Intersect two NURBS surfaces.
|
|
532
|
-
* Returns polyline buffer.
|
|
533
|
-
*/
|
|
534
|
-
export function nurbs_surface_surface_intersect(data_a: Float64Array, data_b: Float64Array, tess: number): Float64Array;
|
|
535
|
-
|
|
536
|
-
/**
|
|
537
|
-
* Offset a polyline by a distance in a given plane.
|
|
538
|
-
* If nx=ny=nz=0, the plane normal is auto-detected.
|
|
539
|
-
* Returns flat [x1,y1,z1, x2,y2,z2, ...] of the offset polyline.
|
|
540
|
-
*/
|
|
541
|
-
export function offset_polyline_curve(coords: Float64Array, distance: number, nx: number, ny: number, nz: number): Float64Array;
|
|
542
|
-
|
|
543
|
-
/**
|
|
544
|
-
* Convert a polycurve (Line/Arc segments) to an exact NURBS curve.
|
|
545
|
-
* Input format: [segment_count, type1, ...data1..., type2, ...data2..., ...]
|
|
546
|
-
* type 0 = Line (6 floats: start_xyz, end_xyz)
|
|
547
|
-
* type 1 = Arc (9 floats: center_xyz, normal_xyz, radius, start_angle, end_angle)
|
|
548
|
-
* Output format: [degree, num_cp, cp_x1,y1,z1,..., w1,w2,..., k1,k2,...]
|
|
549
|
-
*/
|
|
550
|
-
export function polycurve_to_nurbs(segment_data: Float64Array): Float64Array;
|
|
551
|
-
|
|
552
|
-
/**
|
|
553
|
-
* Get the total length of a polyline.
|
|
554
|
-
* Input: flat coords [x1,y1,z1, x2,y2,z2, ...]
|
|
555
|
-
*/
|
|
556
|
-
export function polyline_length(coords: Float64Array): number;
|
|
557
|
-
|
|
558
|
-
/**
|
|
559
|
-
* Evaluate a point on a polyline at parameter t ∈ [0,1].
|
|
560
|
-
* Input: flat coords [x1,y1,z1, x2,y2,z2, ...]
|
|
561
|
-
* Returns [x, y, z].
|
|
562
|
-
*/
|
|
563
|
-
export function polyline_point_at(coords: Float64Array, t: number): Float64Array;
|
|
564
|
-
|
|
565
|
-
/**
|
|
566
|
-
* Find the closest point on a ray to a given point.
|
|
567
|
-
* Returns [x, y, z] of the closest point on the ray.
|
|
568
|
-
*/
|
|
569
|
-
export function ray_closest_point(ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, px: number, py: number, pz: number): Float64Array;
|
|
570
|
-
|
|
571
|
-
/**
|
|
572
|
-
* Find the parameter t for the closest point on a ray to a given point.
|
|
573
|
-
* The closest point is at: origin + t * direction
|
|
574
|
-
* Note: t can be negative if the closest point is "behind" the ray origin.
|
|
575
|
-
*/
|
|
576
|
-
export function ray_closest_point_parameter(ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, px: number, py: number, pz: number): number;
|
|
577
|
-
|
|
578
|
-
/**
|
|
579
|
-
* Compute the distance from a ray to a point.
|
|
580
|
-
* Ray is defined by origin (ox, oy, oz) and direction (dx, dy, dz).
|
|
581
|
-
* Direction should be normalized for accurate distance.
|
|
582
|
-
* Returns the perpendicular distance from the ray to the point.
|
|
583
|
-
*/
|
|
584
|
-
export function ray_distance_to_point(ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, px: number, py: number, pz: number): number;
|
|
585
|
-
|
|
586
|
-
/**
|
|
587
|
-
* Get a point along the ray at parameter t.
|
|
588
|
-
* Returns [x, y, z] = origin + t * direction
|
|
589
|
-
*/
|
|
590
|
-
export function ray_point_at(ox: number, oy: number, oz: number, dx: number, dy: number, dz: number, t: number): Float64Array;
|
|
591
|
-
|
|
592
|
-
/**
|
|
593
|
-
* Sample a NURBS curve.
|
|
594
|
-
* Input: degree, then flat control points [x,y,z,...], then flat weights, then flat knots
|
|
595
|
-
* Format: [degree, num_pts, x0,y0,z0, ..., w0,w1,..., k0,k1,...]
|
|
596
|
-
*/
|
|
597
|
-
export function sample_nurbs_curve(data: Float64Array, samples: number): Float64Array;
|
|
598
|
-
|
|
599
|
-
/**
|
|
600
|
-
* Sweep a profile curve along a path curve using exact curve evaluation.
|
|
601
|
-
* profile_data/path_data: encoded curve (see decode_curve)
|
|
602
|
-
* Returns mesh buffers.
|
|
603
|
-
*/
|
|
604
|
-
export function sweep_curves(profile_data: Float64Array, path_data: Float64Array, profile_segments: number, path_segments: number, with_caps: boolean): Float64Array;
|
|
605
|
-
|
|
606
|
-
/**
|
|
607
|
-
* Sweep a profile polyline along a path polyline.
|
|
608
|
-
* profile_coords: flat [x,y,z,...] for profile curve
|
|
609
|
-
* path_coords: flat [x,y,z,...] for path curve
|
|
610
|
-
* with_caps: whether to close the ends
|
|
611
|
-
* Returns mesh buffers.
|
|
612
|
-
*/
|
|
613
|
-
export function sweep_polylines(profile_coords: Float64Array, path_coords: Float64Array, with_caps: boolean): Float64Array;
|
|
614
|
-
|
|
615
|
-
/**
|
|
616
|
-
* Tessellate a NURBS surface to a mesh buffer.
|
|
617
|
-
* Input format: [degree_u, degree_v, num_u, num_v, ...control_points(flat)..., ...weights(flat)..., ...knots_u..., ...knots_v..., u_segs, v_segs]
|
|
618
|
-
*/
|
|
619
|
-
export function tessellate_nurbs_surface(data: Float64Array): Float64Array;
|
|
620
|
-
|
|
621
|
-
/**
|
|
622
|
-
* Simple test function to verify WASM is working
|
|
623
|
-
*/
|
|
624
|
-
export function test_wasm(): string;
|
|
625
|
-
|
|
626
|
-
/**
|
|
627
|
-
* Get version info
|
|
628
|
-
*/
|
|
629
|
-
export function version(): string;
|
|
630
|
-
|
|
631
|
-
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
632
|
-
|
|
633
|
-
export interface InitOutput {
|
|
634
|
-
readonly memory: WebAssembly.Memory;
|
|
635
|
-
readonly arc_length: (a: number, b: number, c: number) => number;
|
|
636
|
-
readonly arc_point_at: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
637
|
-
readonly chamfer_polycurve: (a: number, b: number, c: number) => [number, number];
|
|
638
|
-
readonly circle_length: (a: number) => number;
|
|
639
|
-
readonly circle_point_at: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
640
|
-
readonly create_arc: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
641
|
-
readonly create_circle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
642
|
-
readonly create_line: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
643
|
-
readonly create_polyline: (a: number, b: number, c: number) => [number, number];
|
|
644
|
-
readonly curve_to_points: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
645
|
-
readonly evaluate_nurbs_curve_at: (a: number, b: number, c: number) => [number, number];
|
|
646
|
-
readonly extrude_circle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
|
|
647
|
-
readonly extrude_line: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
648
|
-
readonly extrude_polyline: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
649
|
-
readonly fillet_polycurve: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
650
|
-
readonly line_length: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
651
|
-
readonly line_offset: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
652
|
-
readonly line_point_at: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
653
|
-
readonly line_tangent: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
654
|
-
readonly loft_circles: (a: number, b: number, c: number, d: number) => [number, number];
|
|
655
|
-
readonly loft_nurbs_surface: (a: number, b: number) => [number, number];
|
|
656
|
-
readonly loft_polylines: (a: number, b: number, c: number, d: number) => [number, number];
|
|
657
|
-
readonly make_nurbs_curves_compatible: (a: number, b: number) => [number, number];
|
|
658
|
-
readonly mesh_apply_matrix: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
659
|
-
readonly mesh_boolean_intersection: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
660
|
-
readonly mesh_boolean_last_debug_marker: () => number;
|
|
661
|
-
readonly mesh_boolean_operation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
662
|
-
readonly mesh_boolean_operation_debug: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
663
|
-
readonly mesh_boolean_operation_profiled: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
664
|
-
readonly mesh_boolean_subtraction: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
665
|
-
readonly mesh_boolean_union: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
666
|
-
readonly mesh_boolean_whole_partial_candidate: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
667
|
-
readonly mesh_boolean_whole_partial_candidate_debug: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
668
|
-
readonly mesh_boundary_polylines: (a: number, b: number, c: number) => [number, number];
|
|
669
|
-
readonly mesh_build_coplanar_connected_face_groups: (a: number, b: number, c: number) => [number, number];
|
|
670
|
-
readonly mesh_chamfer_all_edges: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
671
|
-
readonly mesh_compute_planar_curve_normal: (a: number, b: number, c: number) => [number, number];
|
|
672
|
-
readonly mesh_contains_point: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
673
|
-
readonly mesh_create_box: (a: number, b: number, c: number) => [number, number];
|
|
674
|
-
readonly mesh_create_cone: (a: number, b: number, c: number) => [number, number];
|
|
675
|
-
readonly mesh_create_cylinder: (a: number, b: number, c: number) => [number, number];
|
|
676
|
-
readonly mesh_create_prism: (a: number, b: number, c: number) => [number, number];
|
|
677
|
-
readonly mesh_create_sphere: (a: number, b: number, c: number) => [number, number];
|
|
678
|
-
readonly mesh_evaluate: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
679
|
-
readonly mesh_export_obj: (a: number, b: number, c: number) => [number, number];
|
|
680
|
-
readonly mesh_extrude_face: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
681
|
-
readonly mesh_extrude_planar_curve: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
682
|
-
readonly mesh_find_face_group_by_normal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
683
|
-
readonly mesh_find_face_group_by_triangle_index: (a: number, b: number, c: number, d: number) => [number, number];
|
|
684
|
-
readonly mesh_get_bounds: (a: number, b: number, c: number) => [number, number];
|
|
685
|
-
readonly mesh_get_coplanar_face_group_centroid: (a: number, b: number, c: number, d: number) => [number, number];
|
|
686
|
-
readonly mesh_get_coplanar_face_indices: (a: number, b: number, c: number, d: number) => [number, number];
|
|
687
|
-
readonly mesh_get_coplanar_face_region: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => [number, number];
|
|
688
|
-
readonly mesh_get_edge_vertex_pairs: (a: number, b: number, c: number) => [number, number];
|
|
689
|
-
readonly mesh_get_face_area: (a: number, b: number, c: number, d: number) => number;
|
|
690
|
-
readonly mesh_get_face_centroid: (a: number, b: number, c: number, d: number) => [number, number];
|
|
691
|
-
readonly mesh_get_face_normal: (a: number, b: number, c: number, d: number) => [number, number];
|
|
692
|
-
readonly mesh_get_stats: (a: number, b: number, c: number) => [number, number];
|
|
693
|
-
readonly mesh_import_obj: (a: number, b: number) => [number, number];
|
|
694
|
-
readonly mesh_is_closed_volume: (a: number, b: number, c: number) => number;
|
|
695
|
-
readonly mesh_merge: (a: number, b: number) => [number, number];
|
|
696
|
-
readonly mesh_mesh_intersect: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
697
|
-
readonly mesh_patch_from_points: (a: number, b: number) => [number, number];
|
|
698
|
-
readonly mesh_plane_intersect: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
699
|
-
readonly mesh_prepare_boolean_cutter_curve: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
700
|
-
readonly mesh_raycast: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
701
|
-
readonly mesh_raycast_all: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
702
|
-
readonly mesh_raycast_many: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
|
|
703
|
-
readonly mesh_rotate: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
704
|
-
readonly mesh_scale: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
705
|
-
readonly mesh_topology_metrics: (a: number, b: number, c: number) => [number, number];
|
|
706
|
-
readonly mesh_translate: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
707
|
-
readonly nurbs_curve_curve_intersect: (a: number, b: number, c: number, d: number) => [number, number];
|
|
708
|
-
readonly nurbs_curve_plane_intersect: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
709
|
-
readonly nurbs_surface_evaluate: (a: number, b: number, c: number, d: number) => [number, number];
|
|
710
|
-
readonly nurbs_surface_plane_intersect: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
711
|
-
readonly nurbs_surface_surface_intersect: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
712
|
-
readonly offset_polyline_curve: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
713
|
-
readonly polycurve_to_nurbs: (a: number, b: number) => [number, number];
|
|
714
|
-
readonly polyline_length: (a: number, b: number) => number;
|
|
715
|
-
readonly polyline_point_at: (a: number, b: number, c: number) => [number, number];
|
|
716
|
-
readonly ray_closest_point: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
|
|
717
|
-
readonly ray_closest_point_parameter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
|
|
718
|
-
readonly ray_point_at: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
719
|
-
readonly sample_nurbs_curve: (a: number, b: number, c: number) => [number, number];
|
|
720
|
-
readonly sweep_curves: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
721
|
-
readonly sweep_polylines: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
722
|
-
readonly tessellate_nurbs_surface: (a: number, b: number) => [number, number];
|
|
723
|
-
readonly test_wasm: () => [number, number];
|
|
724
|
-
readonly version: () => [number, number];
|
|
725
|
-
readonly ray_distance_to_point: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
|
|
726
|
-
readonly mesh_boolean_whole_partial_candidate_debug_full: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
727
|
-
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
728
|
-
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
729
|
-
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
730
|
-
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
731
|
-
readonly __wbindgen_start: () => void;
|
|
732
|
-
}
|
|
733
|
-
|
|
734
|
-
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
|
735
|
-
|
|
736
|
-
/**
|
|
737
|
-
* Instantiates the given `module`, which can either be bytes or
|
|
738
|
-
* a precompiled `WebAssembly.Module`.
|
|
739
|
-
*
|
|
740
|
-
* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
|
|
741
|
-
*
|
|
742
|
-
* @returns {InitOutput}
|
|
743
|
-
*/
|
|
744
|
-
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
|
|
745
|
-
|
|
746
|
-
/**
|
|
747
|
-
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
|
|
748
|
-
* for everything else, calls `WebAssembly.instantiate` directly.
|
|
749
|
-
*
|
|
750
|
-
* @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
|
|
751
|
-
*
|
|
752
|
-
* @returns {Promise<InitOutput>}
|
|
753
|
-
*/
|
|
754
|
-
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
|