okgeometry-api 0.2.16 → 0.2.17
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/Plane.d.ts +8 -0
- package/dist/Plane.d.ts.map +1 -1
- package/dist/Plane.js +18 -0
- package/dist/Plane.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 +99 -3
- package/wasm/okgeometrycore.js +1383 -7
- package/wasm/okgeometrycore_bg.wasm +0 -0
- package/wasm/package.json +0 -2
package/dist/Plane.d.ts
CHANGED
|
@@ -21,6 +21,14 @@ export declare class Plane {
|
|
|
21
21
|
/** Bisector plane of two planes. Normal bisects the dihedral angle.
|
|
22
22
|
* Origin is taken from planeA. */
|
|
23
23
|
static bisector(a: Plane, b: Plane): Plane;
|
|
24
|
+
/**
|
|
25
|
+
* Compute the intersection point of three planes.
|
|
26
|
+
* Returns null if the system is degenerate (planes parallel or co-planar).
|
|
27
|
+
*
|
|
28
|
+
* Each plane is n·x = d. The solution uses Cramer's rule:
|
|
29
|
+
* x = (d1(n2×n3) + d2(n3×n1) + d3(n1×n2)) / (n1·(n2×n3))
|
|
30
|
+
*/
|
|
31
|
+
static intersect3(p1: Plane, p2: Plane, p3: Plane): Point | null;
|
|
24
32
|
static readonly XY: Plane;
|
|
25
33
|
static readonly XZ: Plane;
|
|
26
34
|
static readonly YZ: Plane;
|
package/dist/Plane.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAAa,KAAK;IAChB,SAAgB,MAAM,EAAE,KAAK,CAAC;IAC9B,SAAgB,MAAM,EAAE,IAAI,CAAC;IAC7B,0EAA0E;IAC1E,SAAgB,KAAK,CAAC,EAAE,IAAI,CAAC;gBAEjB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI;IAmBrD;iEAC6D;IAC7D,QAAQ,IAAI,IAAI;IAmBhB,2EAA2E;IAC3E,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAQhC,mEAAmE;IACnE,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IASjC;qFACiF;IACjF,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,KAAK;IAkBhE,8CAA8C;IAC9C,IAAI,CAAC,IAAI,MAAM,CAEd;IAED;uCACmC;IACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK;IAO1C,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;IACrD,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;IACrD,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;CACtD"}
|
|
1
|
+
{"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAAa,KAAK;IAChB,SAAgB,MAAM,EAAE,KAAK,CAAC;IAC9B,SAAgB,MAAM,EAAE,IAAI,CAAC;IAC7B,0EAA0E;IAC1E,SAAgB,KAAK,CAAC,EAAE,IAAI,CAAC;gBAEjB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI;IAmBrD;iEAC6D;IAC7D,QAAQ,IAAI,IAAI;IAmBhB,2EAA2E;IAC3E,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAQhC,mEAAmE;IACnE,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IASjC;qFACiF;IACjF,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,KAAK;IAkBhE,8CAA8C;IAC9C,IAAI,CAAC,IAAI,MAAM,CAEd;IAED;uCACmC;IACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK;IAO1C;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI;IAmBhE,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;IACrD,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;IACrD,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;CACtD"}
|
package/dist/Plane.js
CHANGED
|
@@ -69,6 +69,24 @@ export class Plane {
|
|
|
69
69
|
const bisectNormal = a.normal.add(nb).normalize();
|
|
70
70
|
return new Plane(a.origin, bisectNormal);
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Compute the intersection point of three planes.
|
|
74
|
+
* Returns null if the system is degenerate (planes parallel or co-planar).
|
|
75
|
+
*
|
|
76
|
+
* Each plane is n·x = d. The solution uses Cramer's rule:
|
|
77
|
+
* x = (d1(n2×n3) + d2(n3×n1) + d3(n1×n2)) / (n1·(n2×n3))
|
|
78
|
+
*/
|
|
79
|
+
static intersect3(p1, p2, p3) {
|
|
80
|
+
const n2xn3 = p2.normal.cross(p3.normal);
|
|
81
|
+
const denom = p1.normal.dot(n2xn3);
|
|
82
|
+
if (Math.abs(denom) < 1e-10)
|
|
83
|
+
return null;
|
|
84
|
+
const n3xn1 = p3.normal.cross(p1.normal);
|
|
85
|
+
const n1xn2 = p1.normal.cross(p2.normal);
|
|
86
|
+
const d1 = p1.d, d2 = p2.d, d3 = p3.d;
|
|
87
|
+
const inv = 1.0 / denom;
|
|
88
|
+
return new Point((d1 * n2xn3.x + d2 * n3xn1.x + d3 * n1xn2.x) * inv, (d1 * n2xn3.y + d2 * n3xn1.y + d3 * n1xn2.y) * inv, (d1 * n2xn3.z + d2 * n3xn1.z + d3 * n1xn2.z) * inv);
|
|
89
|
+
}
|
|
72
90
|
}
|
|
73
91
|
Plane.XY = new Plane(Point.ORIGIN, Vec3.Z);
|
|
74
92
|
Plane.XZ = new Plane(Point.ORIGIN, Vec3.Y);
|
package/dist/Plane.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plane.js","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,KAAK;IAMhB,YAAY,MAAa,EAAE,MAAY,EAAE,KAAY;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,8DAA8D;QAC9D,IAAI,KAAK,EAAE,CAAC;YACV,yCAAyC;YACzC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,EAC7B,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,EAC7B,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAC9B,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED;iEAC6D;IAC7D,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QAClC,4CAA4C;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,GAAS,CAAC;QACd,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;YACxB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,IAAI,CACpB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EACzB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EACzB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAC1B,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,2EAA2E;IAC3E,UAAU,CAAC,KAAY;QACrB,OAAO,CACL,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,YAAY,CAAC,KAAY;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,KAAK,CACd,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAC3B,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAC3B,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED;qFACiF;IACjF,0BAA0B,CAAC,KAAY,EAAE,SAAe;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;YAC5B,+DAA+D;YAC/D,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,CACT,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAC1C,GAAG,KAAK,CAAC;QACV,OAAO,IAAI,KAAK,CACd,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,EACzB,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,EACzB,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;uCACmC;IACnC,MAAM,CAAC,QAAQ,CAAC,CAAQ,EAAE,CAAQ;QAChC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QAClD,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,CAAC;;AAEe,QAAE,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,QAAE,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,QAAE,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Plane.js","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"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"}
|