brepkit-wasm 2.87.0 → 2.88.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
@@ -1105,6 +1105,22 @@ export class BrepKernel {
1105
1105
  * Returns an edge handle (`u32`).
1106
1106
  */
1107
1107
  makeCircleArc3d(start_x: number, start_y: number, start_z: number, end_x: number, end_y: number, end_z: number, center_x: number, center_y: number, center_z: number, axis_x: number, axis_y: number, axis_z: number): number;
1108
+ /**
1109
+ * Create a closed circular edge with true `Circle` curve geometry.
1110
+ *
1111
+ * Unlike `makeCircle` (which returns a polygon face approximation),
1112
+ * this creates a single closed edge with an [`EdgeCurve::Circle`]
1113
+ * backing curve and parameter domain `[0, 2π]`. The start and end
1114
+ * vertex are shared at the seam point `circle.evaluate(0.0)`.
1115
+ *
1116
+ * Returns an edge handle (`u32`).
1117
+ *
1118
+ * # Errors
1119
+ *
1120
+ * Returns an error if any coordinate is NaN/infinite, `radius` is
1121
+ * non-positive, or the normal vector is zero.
1122
+ */
1123
+ makeCircleEdge(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number): number;
1108
1124
  /**
1109
1125
  * Create a circular face on the XY plane (using NURBS arcs).
1110
1126
  *
@@ -1137,6 +1153,22 @@ export class BrepKernel {
1137
1153
  * Returns an error if radius or height is non-positive.
1138
1154
  */
1139
1155
  makeCylinder(radius: number, height: number): number;
1156
+ /**
1157
+ * Create a closed elliptical edge with true `Ellipse` curve geometry.
1158
+ *
1159
+ * Creates a single closed edge with an [`EdgeCurve::Ellipse`] backing
1160
+ * curve and parameter domain `[0, 2π]`. The start and end vertex are
1161
+ * shared at the seam point `ellipse.evaluate(0.0)`.
1162
+ *
1163
+ * Returns an edge handle (`u32`).
1164
+ *
1165
+ * # Errors
1166
+ *
1167
+ * Returns an error if any coordinate is NaN/infinite, either
1168
+ * semi-axis is non-positive, `semi_minor` exceeds `semi_major`, or
1169
+ * the normal vector is zero.
1170
+ */
1171
+ makeEllipseEdge(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, semi_major: number, semi_minor: number): number;
1140
1172
  /**
1141
1173
  * Create an ellipsoid solid centered at the origin.
1142
1174
  *
@@ -2441,6 +2441,36 @@ export class BrepKernel {
2441
2441
  }
2442
2442
  return ret[0] >>> 0;
2443
2443
  }
2444
+ /**
2445
+ * Create a closed circular edge with true `Circle` curve geometry.
2446
+ *
2447
+ * Unlike `makeCircle` (which returns a polygon face approximation),
2448
+ * this creates a single closed edge with an [`EdgeCurve::Circle`]
2449
+ * backing curve and parameter domain `[0, 2π]`. The start and end
2450
+ * vertex are shared at the seam point `circle.evaluate(0.0)`.
2451
+ *
2452
+ * Returns an edge handle (`u32`).
2453
+ *
2454
+ * # Errors
2455
+ *
2456
+ * Returns an error if any coordinate is NaN/infinite, `radius` is
2457
+ * non-positive, or the normal vector is zero.
2458
+ * @param {number} cx
2459
+ * @param {number} cy
2460
+ * @param {number} cz
2461
+ * @param {number} nx
2462
+ * @param {number} ny
2463
+ * @param {number} nz
2464
+ * @param {number} radius
2465
+ * @returns {number}
2466
+ */
2467
+ makeCircleEdge(cx, cy, cz, nx, ny, nz, radius) {
2468
+ const ret = wasm.brepkernel_makeCircleEdge(this.__wbg_ptr, cx, cy, cz, nx, ny, nz, radius);
2469
+ if (ret[2]) {
2470
+ throw takeFromExternrefTable0(ret[1]);
2471
+ }
2472
+ return ret[0] >>> 0;
2473
+ }
2444
2474
  /**
2445
2475
  * Create a circular face on the XY plane (using NURBS arcs).
2446
2476
  *
@@ -2511,6 +2541,37 @@ export class BrepKernel {
2511
2541
  }
2512
2542
  return ret[0] >>> 0;
2513
2543
  }
2544
+ /**
2545
+ * Create a closed elliptical edge with true `Ellipse` curve geometry.
2546
+ *
2547
+ * Creates a single closed edge with an [`EdgeCurve::Ellipse`] backing
2548
+ * curve and parameter domain `[0, 2π]`. The start and end vertex are
2549
+ * shared at the seam point `ellipse.evaluate(0.0)`.
2550
+ *
2551
+ * Returns an edge handle (`u32`).
2552
+ *
2553
+ * # Errors
2554
+ *
2555
+ * Returns an error if any coordinate is NaN/infinite, either
2556
+ * semi-axis is non-positive, `semi_minor` exceeds `semi_major`, or
2557
+ * the normal vector is zero.
2558
+ * @param {number} cx
2559
+ * @param {number} cy
2560
+ * @param {number} cz
2561
+ * @param {number} nx
2562
+ * @param {number} ny
2563
+ * @param {number} nz
2564
+ * @param {number} semi_major
2565
+ * @param {number} semi_minor
2566
+ * @returns {number}
2567
+ */
2568
+ makeEllipseEdge(cx, cy, cz, nx, ny, nz, semi_major, semi_minor) {
2569
+ const ret = wasm.brepkernel_makeEllipseEdge(this.__wbg_ptr, cx, cy, cz, nx, ny, nz, semi_major, semi_minor);
2570
+ if (ret[2]) {
2571
+ throw takeFromExternrefTable0(ret[1]);
2572
+ }
2573
+ return ret[0] >>> 0;
2574
+ }
2514
2575
  /**
2515
2576
  * Create an ellipsoid solid centered at the origin.
2516
2577
  *
Binary file
@@ -2443,6 +2443,36 @@ class BrepKernel {
2443
2443
  }
2444
2444
  return ret[0] >>> 0;
2445
2445
  }
2446
+ /**
2447
+ * Create a closed circular edge with true `Circle` curve geometry.
2448
+ *
2449
+ * Unlike `makeCircle` (which returns a polygon face approximation),
2450
+ * this creates a single closed edge with an [`EdgeCurve::Circle`]
2451
+ * backing curve and parameter domain `[0, 2π]`. The start and end
2452
+ * vertex are shared at the seam point `circle.evaluate(0.0)`.
2453
+ *
2454
+ * Returns an edge handle (`u32`).
2455
+ *
2456
+ * # Errors
2457
+ *
2458
+ * Returns an error if any coordinate is NaN/infinite, `radius` is
2459
+ * non-positive, or the normal vector is zero.
2460
+ * @param {number} cx
2461
+ * @param {number} cy
2462
+ * @param {number} cz
2463
+ * @param {number} nx
2464
+ * @param {number} ny
2465
+ * @param {number} nz
2466
+ * @param {number} radius
2467
+ * @returns {number}
2468
+ */
2469
+ makeCircleEdge(cx, cy, cz, nx, ny, nz, radius) {
2470
+ const ret = wasm.brepkernel_makeCircleEdge(this.__wbg_ptr, cx, cy, cz, nx, ny, nz, radius);
2471
+ if (ret[2]) {
2472
+ throw takeFromExternrefTable0(ret[1]);
2473
+ }
2474
+ return ret[0] >>> 0;
2475
+ }
2446
2476
  /**
2447
2477
  * Create a circular face on the XY plane (using NURBS arcs).
2448
2478
  *
@@ -2513,6 +2543,37 @@ class BrepKernel {
2513
2543
  }
2514
2544
  return ret[0] >>> 0;
2515
2545
  }
2546
+ /**
2547
+ * Create a closed elliptical edge with true `Ellipse` curve geometry.
2548
+ *
2549
+ * Creates a single closed edge with an [`EdgeCurve::Ellipse`] backing
2550
+ * curve and parameter domain `[0, 2π]`. The start and end vertex are
2551
+ * shared at the seam point `ellipse.evaluate(0.0)`.
2552
+ *
2553
+ * Returns an edge handle (`u32`).
2554
+ *
2555
+ * # Errors
2556
+ *
2557
+ * Returns an error if any coordinate is NaN/infinite, either
2558
+ * semi-axis is non-positive, `semi_minor` exceeds `semi_major`, or
2559
+ * the normal vector is zero.
2560
+ * @param {number} cx
2561
+ * @param {number} cy
2562
+ * @param {number} cz
2563
+ * @param {number} nx
2564
+ * @param {number} ny
2565
+ * @param {number} nz
2566
+ * @param {number} semi_major
2567
+ * @param {number} semi_minor
2568
+ * @returns {number}
2569
+ */
2570
+ makeEllipseEdge(cx, cy, cz, nx, ny, nz, semi_major, semi_minor) {
2571
+ const ret = wasm.brepkernel_makeEllipseEdge(this.__wbg_ptr, cx, cy, cz, nx, ny, nz, semi_major, semi_minor);
2572
+ if (ret[2]) {
2573
+ throw takeFromExternrefTable0(ret[1]);
2574
+ }
2575
+ return ret[0] >>> 0;
2576
+ }
2516
2577
  /**
2517
2578
  * Create an ellipsoid solid centered at the origin.
2518
2579
  *
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": "2.87.0",
5
+ "version": "2.88.0",
6
6
  "license": "MIT OR Apache-2.0",
7
7
  "repository": {
8
8
  "type": "git",