brepkit-wasm 1.0.9 → 1.2.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/brepkit_wasm.d.ts CHANGED
@@ -864,6 +864,17 @@ export class BrepKernel {
864
864
  * Check whether a wire is closed (last edge connects back to first).
865
865
  */
866
866
  isWireClosed(wire: number): boolean;
867
+ /**
868
+ * Lift a 2D curve onto a 3D plane, producing an edge.
869
+ *
870
+ * `curve_type`: 0 = Line, 1 = Circle, 2 = Ellipse, 3 = NURBS.
871
+ * `curve_params` layout varies by type (see docs).
872
+ * The plane is defined by an origin, x-axis, and normal.
873
+ * `t_start`/`t_end` specify the parameter range on the 2D curve.
874
+ *
875
+ * Returns an edge handle (`u32`).
876
+ */
877
+ liftCurve2dToPlane(curve_type: number, curve_params: Float64Array, origin_x: number, origin_y: number, origin_z: number, x_axis_x: number, x_axis_y: number, x_axis_z: number, normal_x: number, normal_y: number, normal_z: number, t_start: number, t_end: number): number;
867
878
  /**
868
879
  * Create a linear pattern of a solid.
869
880
  *
@@ -1053,6 +1064,16 @@ export class BrepKernel {
1053
1064
  * Returns an error if radius is non-positive or segments < 4.
1054
1065
  */
1055
1066
  makeSphere(radius: number, segments: number): number;
1067
+ /**
1068
+ * Create a circular arc edge defined by start point, tangent direction
1069
+ * at start, and end point.
1070
+ *
1071
+ * If the tangent is parallel to the start→end chord (collinear), falls
1072
+ * back to a straight line edge.
1073
+ *
1074
+ * Returns an edge handle (`u32`).
1075
+ */
1076
+ makeTangentArc3d(start_x: number, start_y: number, start_z: number, tangent_x: number, tangent_y: number, tangent_z: number, end_x: number, end_y: number, end_z: number): number;
1056
1077
  /**
1057
1078
  * Create a torus solid centered at the origin in the XY plane.
1058
1079
  *
@@ -2060,6 +2060,39 @@ export class BrepKernel {
2060
2060
  }
2061
2061
  return ret[0] !== 0;
2062
2062
  }
2063
+ /**
2064
+ * Lift a 2D curve onto a 3D plane, producing an edge.
2065
+ *
2066
+ * `curve_type`: 0 = Line, 1 = Circle, 2 = Ellipse, 3 = NURBS.
2067
+ * `curve_params` layout varies by type (see docs).
2068
+ * The plane is defined by an origin, x-axis, and normal.
2069
+ * `t_start`/`t_end` specify the parameter range on the 2D curve.
2070
+ *
2071
+ * Returns an edge handle (`u32`).
2072
+ * @param {number} curve_type
2073
+ * @param {Float64Array} curve_params
2074
+ * @param {number} origin_x
2075
+ * @param {number} origin_y
2076
+ * @param {number} origin_z
2077
+ * @param {number} x_axis_x
2078
+ * @param {number} x_axis_y
2079
+ * @param {number} x_axis_z
2080
+ * @param {number} normal_x
2081
+ * @param {number} normal_y
2082
+ * @param {number} normal_z
2083
+ * @param {number} t_start
2084
+ * @param {number} t_end
2085
+ * @returns {number}
2086
+ */
2087
+ liftCurve2dToPlane(curve_type, curve_params, origin_x, origin_y, origin_z, x_axis_x, x_axis_y, x_axis_z, normal_x, normal_y, normal_z, t_start, t_end) {
2088
+ const ptr0 = passArrayF64ToWasm0(curve_params, wasm.__wbindgen_malloc);
2089
+ const len0 = WASM_VECTOR_LEN;
2090
+ const ret = wasm.brepkernel_liftCurve2dToPlane(this.__wbg_ptr, curve_type, ptr0, len0, origin_x, origin_y, origin_z, x_axis_x, x_axis_y, x_axis_z, normal_x, normal_y, normal_z, t_start, t_end);
2091
+ if (ret[2]) {
2092
+ throw takeFromExternrefTable0(ret[1]);
2093
+ }
2094
+ return ret[0] >>> 0;
2095
+ }
2063
2096
  /**
2064
2097
  * Create a linear pattern of a solid.
2065
2098
  *
@@ -2482,6 +2515,32 @@ export class BrepKernel {
2482
2515
  }
2483
2516
  return ret[0] >>> 0;
2484
2517
  }
2518
+ /**
2519
+ * Create a circular arc edge defined by start point, tangent direction
2520
+ * at start, and end point.
2521
+ *
2522
+ * If the tangent is parallel to the start→end chord (collinear), falls
2523
+ * back to a straight line edge.
2524
+ *
2525
+ * Returns an edge handle (`u32`).
2526
+ * @param {number} start_x
2527
+ * @param {number} start_y
2528
+ * @param {number} start_z
2529
+ * @param {number} tangent_x
2530
+ * @param {number} tangent_y
2531
+ * @param {number} tangent_z
2532
+ * @param {number} end_x
2533
+ * @param {number} end_y
2534
+ * @param {number} end_z
2535
+ * @returns {number}
2536
+ */
2537
+ makeTangentArc3d(start_x, start_y, start_z, tangent_x, tangent_y, tangent_z, end_x, end_y, end_z) {
2538
+ const ret = wasm.brepkernel_makeTangentArc3d(this.__wbg_ptr, start_x, start_y, start_z, tangent_x, tangent_y, tangent_z, end_x, end_y, end_z);
2539
+ if (ret[2]) {
2540
+ throw takeFromExternrefTable0(ret[1]);
2541
+ }
2542
+ return ret[0] >>> 0;
2543
+ }
2485
2544
  /**
2486
2545
  * Create a torus solid centered at the origin in the XY plane.
2487
2546
  *
Binary file
@@ -2062,6 +2062,39 @@ class BrepKernel {
2062
2062
  }
2063
2063
  return ret[0] !== 0;
2064
2064
  }
2065
+ /**
2066
+ * Lift a 2D curve onto a 3D plane, producing an edge.
2067
+ *
2068
+ * `curve_type`: 0 = Line, 1 = Circle, 2 = Ellipse, 3 = NURBS.
2069
+ * `curve_params` layout varies by type (see docs).
2070
+ * The plane is defined by an origin, x-axis, and normal.
2071
+ * `t_start`/`t_end` specify the parameter range on the 2D curve.
2072
+ *
2073
+ * Returns an edge handle (`u32`).
2074
+ * @param {number} curve_type
2075
+ * @param {Float64Array} curve_params
2076
+ * @param {number} origin_x
2077
+ * @param {number} origin_y
2078
+ * @param {number} origin_z
2079
+ * @param {number} x_axis_x
2080
+ * @param {number} x_axis_y
2081
+ * @param {number} x_axis_z
2082
+ * @param {number} normal_x
2083
+ * @param {number} normal_y
2084
+ * @param {number} normal_z
2085
+ * @param {number} t_start
2086
+ * @param {number} t_end
2087
+ * @returns {number}
2088
+ */
2089
+ liftCurve2dToPlane(curve_type, curve_params, origin_x, origin_y, origin_z, x_axis_x, x_axis_y, x_axis_z, normal_x, normal_y, normal_z, t_start, t_end) {
2090
+ const ptr0 = passArrayF64ToWasm0(curve_params, wasm.__wbindgen_malloc);
2091
+ const len0 = WASM_VECTOR_LEN;
2092
+ const ret = wasm.brepkernel_liftCurve2dToPlane(this.__wbg_ptr, curve_type, ptr0, len0, origin_x, origin_y, origin_z, x_axis_x, x_axis_y, x_axis_z, normal_x, normal_y, normal_z, t_start, t_end);
2093
+ if (ret[2]) {
2094
+ throw takeFromExternrefTable0(ret[1]);
2095
+ }
2096
+ return ret[0] >>> 0;
2097
+ }
2065
2098
  /**
2066
2099
  * Create a linear pattern of a solid.
2067
2100
  *
@@ -2484,6 +2517,32 @@ class BrepKernel {
2484
2517
  }
2485
2518
  return ret[0] >>> 0;
2486
2519
  }
2520
+ /**
2521
+ * Create a circular arc edge defined by start point, tangent direction
2522
+ * at start, and end point.
2523
+ *
2524
+ * If the tangent is parallel to the start→end chord (collinear), falls
2525
+ * back to a straight line edge.
2526
+ *
2527
+ * Returns an edge handle (`u32`).
2528
+ * @param {number} start_x
2529
+ * @param {number} start_y
2530
+ * @param {number} start_z
2531
+ * @param {number} tangent_x
2532
+ * @param {number} tangent_y
2533
+ * @param {number} tangent_z
2534
+ * @param {number} end_x
2535
+ * @param {number} end_y
2536
+ * @param {number} end_z
2537
+ * @returns {number}
2538
+ */
2539
+ makeTangentArc3d(start_x, start_y, start_z, tangent_x, tangent_y, tangent_z, end_x, end_y, end_z) {
2540
+ const ret = wasm.brepkernel_makeTangentArc3d(this.__wbg_ptr, start_x, start_y, start_z, tangent_x, tangent_y, tangent_z, end_x, end_y, end_z);
2541
+ if (ret[2]) {
2542
+ throw takeFromExternrefTable0(ret[1]);
2543
+ }
2544
+ return ret[0] >>> 0;
2545
+ }
2487
2546
  /**
2488
2547
  * Create a torus solid centered at the origin in the XY plane.
2489
2548
  *
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "brepkit-wasm",
3
3
  "type": "module",
4
4
  "description": "WebAssembly bindings for brepkit — browser-native B-Rep solid modeling",
5
- "version": "1.0.9",
5
+ "version": "1.2.0",
6
6
  "license": "AGPL-3.0-only",
7
7
  "repository": {
8
8
  "type": "git",