okgeometry-api 0.2.13 → 0.2.14
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/Polyline.d.ts +13 -0
- package/dist/Polyline.d.ts.map +1 -1
- package/dist/Polyline.js +31 -0
- package/dist/Polyline.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 +1 -1
- package/wasm/okgeometrycore.d.ts +0 -94
- package/wasm/okgeometrycore.js +1 -1
- package/wasm/okgeometrycore_bg.js +81 -0
- package/wasm/okgeometrycore_bg.wasm +0 -0
- package/wasm/okgeometrycore_bg.wasm.d.ts +4 -0
package/dist/Polyline.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Point } from "./Point.js";
|
|
2
2
|
import { Vec3 } from "./Vec3.js";
|
|
3
3
|
import { Mesh } from "./Mesh.js";
|
|
4
|
+
import { PolyCurve } from "./PolyCurve.js";
|
|
4
5
|
import type { Plane } from "./Plane.js";
|
|
5
6
|
import type { RotationAxis } from "./types.js";
|
|
6
7
|
/**
|
|
@@ -62,6 +63,18 @@ export declare class Polyline {
|
|
|
62
63
|
* @returns New projected polyline
|
|
63
64
|
*/
|
|
64
65
|
projectOntoPlane(plane: Plane, direction?: Vec3): Polyline;
|
|
66
|
+
/**
|
|
67
|
+
* Fillet corners of this polyline with arcs of the given radius.
|
|
68
|
+
* @param radius - Fillet radius
|
|
69
|
+
* @param normal - Reference normal for arc orientation (auto-detected if not provided)
|
|
70
|
+
* @returns PolyCurve with Line and Arc segments
|
|
71
|
+
*/
|
|
72
|
+
fillet(radius: number, normal?: Vec3): PolyCurve;
|
|
73
|
+
/**
|
|
74
|
+
* Convert this polyline to a PolyCurve (line segments only).
|
|
75
|
+
* @returns PolyCurve with Line segments connecting consecutive points
|
|
76
|
+
*/
|
|
77
|
+
toPolyCurve(): PolyCurve;
|
|
65
78
|
/**
|
|
66
79
|
* Convert points to flat coordinate array for WASM.
|
|
67
80
|
* @returns Float64Array [x1,y1,z1, x2,y2,z2, ...]
|
package/dist/Polyline.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Polyline.d.ts","sourceRoot":"","sources":["../src/Polyline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Polyline.d.ts","sourceRoot":"","sources":["../src/Polyline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C;;;GAGG;AACH,qBAAa,QAAQ;IACnB,SAAgB,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEpB,MAAM,EAAE,KAAK,EAAE;IAI3B;;;OAGG;IACH,MAAM,IAAI,MAAM;IAKhB;;;;OAIG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK;IAMzB;;;;OAIG;IACH,QAAQ,CAAC,GAAG,SAAQ,GAAG,OAAO;IAK9B;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,SAAI,EAAE,IAAI,UAAQ,GAAG,IAAI;IAU1D;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ;IAIjC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ;IAInD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,QAAQ;IAOjD;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,GAAG,QAAQ;IAK1D;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS;IAehD;;;OAGG;IACH,WAAW,IAAI,SAAS;IAQxB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAGjB"}
|
package/dist/Polyline.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ensureInit } from "./engine.js";
|
|
2
2
|
import { Point } from "./Point.js";
|
|
3
3
|
import { Mesh } from "./Mesh.js";
|
|
4
|
+
import { Line } from "./Line.js";
|
|
5
|
+
import { PolyCurve } from "./PolyCurve.js";
|
|
4
6
|
import { pointsToCoords, coordsToPoints } from "./BufferCodec.js";
|
|
5
7
|
import * as wasm from "../wasm/okgeometrycore_bg.js";
|
|
6
8
|
/**
|
|
@@ -90,6 +92,35 @@ export class Polyline {
|
|
|
90
92
|
const proj = (p) => direction ? plane.projectPointAlongDirection(p, direction) : plane.projectPoint(p);
|
|
91
93
|
return new Polyline(this.points.map(proj));
|
|
92
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Fillet corners of this polyline with arcs of the given radius.
|
|
97
|
+
* @param radius - Fillet radius
|
|
98
|
+
* @param normal - Reference normal for arc orientation (auto-detected if not provided)
|
|
99
|
+
* @returns PolyCurve with Line and Arc segments
|
|
100
|
+
*/
|
|
101
|
+
fillet(radius, normal) {
|
|
102
|
+
ensureInit();
|
|
103
|
+
if (this.points.length < 3) {
|
|
104
|
+
throw new Error("Polyline.fillet() requires at least 3 points");
|
|
105
|
+
}
|
|
106
|
+
const nx = normal?.x ?? 0, ny = normal?.y ?? 0, nz = normal?.z ?? 0;
|
|
107
|
+
const buf = wasm.fillet_polycurve(this.toCoords(), radius, nx, ny, nz);
|
|
108
|
+
if (buf.length < 1) {
|
|
109
|
+
throw new Error("Polyline.fillet() failed - WASM returned empty result");
|
|
110
|
+
}
|
|
111
|
+
return PolyCurve.fromSegmentData(buf);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Convert this polyline to a PolyCurve (line segments only).
|
|
115
|
+
* @returns PolyCurve with Line segments connecting consecutive points
|
|
116
|
+
*/
|
|
117
|
+
toPolyCurve() {
|
|
118
|
+
const segs = [];
|
|
119
|
+
for (let i = 0; i < this.points.length - 1; i++) {
|
|
120
|
+
segs.push(new Line(this.points[i], this.points[i + 1]));
|
|
121
|
+
}
|
|
122
|
+
return new PolyCurve(segs);
|
|
123
|
+
}
|
|
93
124
|
/**
|
|
94
125
|
* Convert points to flat coordinate array for WASM.
|
|
95
126
|
* @returns Float64Array [x1,y1,z1, x2,y2,z2, ...]
|
package/dist/Polyline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Polyline.js","sourceRoot":"","sources":["../src/Polyline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Polyline.js","sourceRoot":"","sources":["../src/Polyline.ts"],"names":[],"mappings":"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"}
|