okgeometry-api 0.2.10 → 0.2.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-base64.js","sourceRoot":"","sources":["../src/wasm-base64.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,k11nBAAk11nB,CAAC"}
1
+ {"version":3,"file":"wasm-base64.js","sourceRoot":"","sources":["../src/wasm-base64.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,kggoBAAkggoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "okgeometry-api",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "Geometry engine API for AEC applications — NURBS, meshes, booleans, intersections. Powered by Rust/WASM.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -57,6 +57,12 @@ export function create_polyline(coords: Float64Array, samples_per_segment: numbe
57
57
  */
58
58
  export function curve_to_points(curve_type: string, params: Float64Array, samples: number): Float64Array;
59
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
+
60
66
  /**
61
67
  * Extrude a circle and return mesh buffers
62
68
  */
@@ -5,5 +5,5 @@ import { __wbg_set_wasm } from "./okgeometrycore_bg.js";
5
5
  __wbg_set_wasm(wasm);
6
6
  wasm.__wbindgen_start();
7
7
  export {
8
- arc_length, arc_point_at, chamfer_polycurve, circle_length, circle_point_at, create_arc, create_circle, create_line, create_polyline, curve_to_points, extrude_circle, extrude_line, extrude_polyline, fillet_polycurve, line_length, line_point_at, line_tangent, loft_circles, loft_nurbs_surface, loft_polylines, make_nurbs_curves_compatible, mesh_apply_matrix, mesh_boolean_intersection, mesh_boolean_operation, mesh_boolean_subtraction, mesh_boolean_union, mesh_boundary_polylines, mesh_chamfer_all_edges, mesh_create_box, mesh_create_cone, mesh_create_cylinder, mesh_create_prism, mesh_create_sphere, mesh_export_obj, mesh_get_stats, mesh_import_obj, mesh_mesh_intersect, mesh_plane_intersect, mesh_rotate, mesh_scale, mesh_translate, nurbs_curve_curve_intersect, nurbs_curve_plane_intersect, nurbs_surface_evaluate, nurbs_surface_plane_intersect, nurbs_surface_surface_intersect, offset_polyline_curve, polycurve_to_nurbs, polyline_length, polyline_point_at, sample_nurbs_curve, sweep_curves, sweep_polylines, tessellate_nurbs_surface, test_wasm, version
8
+ arc_length, arc_point_at, chamfer_polycurve, circle_length, circle_point_at, create_arc, create_circle, create_line, create_polyline, curve_to_points, evaluate_nurbs_curve_at, extrude_circle, extrude_line, extrude_polyline, fillet_polycurve, line_length, line_point_at, line_tangent, loft_circles, loft_nurbs_surface, loft_polylines, make_nurbs_curves_compatible, mesh_apply_matrix, mesh_boolean_intersection, mesh_boolean_operation, mesh_boolean_subtraction, mesh_boolean_union, mesh_boundary_polylines, mesh_chamfer_all_edges, mesh_create_box, mesh_create_cone, mesh_create_cylinder, mesh_create_prism, mesh_create_sphere, mesh_export_obj, mesh_get_stats, mesh_import_obj, mesh_mesh_intersect, mesh_plane_intersect, mesh_rotate, mesh_scale, mesh_translate, nurbs_curve_curve_intersect, nurbs_curve_plane_intersect, nurbs_surface_evaluate, nurbs_surface_plane_intersect, nurbs_surface_surface_intersect, offset_polyline_curve, polycurve_to_nurbs, polyline_length, polyline_point_at, sample_nurbs_curve, sweep_curves, sweep_polylines, tessellate_nurbs_surface, test_wasm, version
9
9
  } from "./okgeometrycore_bg.js";
@@ -172,6 +172,22 @@ export function curve_to_points(curve_type, params, samples) {
172
172
  return v3;
173
173
  }
174
174
 
175
+ /**
176
+ * Evaluate a NURBS curve at normalized parameter t in [0,1].
177
+ * Returns [x, y, z].
178
+ * @param {Float64Array} data
179
+ * @param {number} t
180
+ * @returns {Float64Array}
181
+ */
182
+ export function evaluate_nurbs_curve_at(data, t) {
183
+ const ptr0 = passArrayF64ToWasm0(data, wasm.__wbindgen_malloc);
184
+ const len0 = WASM_VECTOR_LEN;
185
+ const ret = wasm.evaluate_nurbs_curve_at(ptr0, len0, t);
186
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
187
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
188
+ return v2;
189
+ }
190
+
175
191
  /**
176
192
  * Extrude a circle and return mesh buffers
177
193
  * @param {number} cx
Binary file
@@ -11,6 +11,7 @@ export const create_circle: (a: number, b: number, c: number, d: number, e: numb
11
11
  export const create_line: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
12
12
  export const create_polyline: (a: number, b: number, c: number) => [number, number];
13
13
  export const curve_to_points: (a: number, b: number, c: number, d: number, e: number) => [number, number];
14
+ export const evaluate_nurbs_curve_at: (a: number, b: number, c: number) => [number, number];
14
15
  export const 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];
15
16
  export const extrude_line: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
16
17
  export const extrude_polyline: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];