@shapediver/viewer.shared.math 1.15.7 → 2.0.2

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.
Files changed (74) hide show
  1. package/dist/{Box.d.ts → implementation/Box.d.ts} +8 -7
  2. package/dist/implementation/Box.d.ts.map +1 -0
  3. package/dist/{Box.js → implementation/Box.js} +10 -2
  4. package/dist/implementation/Box.js.map +1 -0
  5. package/dist/{Plane.d.ts → implementation/Plane.d.ts} +6 -5
  6. package/dist/implementation/Plane.d.ts.map +1 -0
  7. package/dist/{Plane.js → implementation/Plane.js} +4 -0
  8. package/dist/implementation/Plane.js.map +1 -0
  9. package/dist/{Sphere.d.ts → implementation/Sphere.d.ts} +6 -5
  10. package/dist/implementation/Sphere.d.ts.map +1 -0
  11. package/dist/{Sphere.js → implementation/Sphere.js} +4 -0
  12. package/dist/implementation/Sphere.js.map +1 -0
  13. package/dist/{Spherical.d.ts → implementation/Spherical.d.ts} +4 -3
  14. package/dist/implementation/Spherical.d.ts.map +1 -0
  15. package/dist/{Spherical.js → implementation/Spherical.js} +1 -0
  16. package/dist/implementation/Spherical.js.map +1 -0
  17. package/dist/implementation/Triangle.d.ts +13 -0
  18. package/dist/implementation/Triangle.d.ts.map +1 -0
  19. package/dist/{Triangle.js → implementation/Triangle.js} +5 -0
  20. package/dist/implementation/Triangle.js.map +1 -0
  21. package/dist/index.d.ts +12 -6
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -5
  24. package/dist/index.js.map +1 -1
  25. package/dist/interfaces/IBox.d.ts +17 -0
  26. package/dist/interfaces/IBox.d.ts.map +1 -0
  27. package/dist/interfaces/IBox.js +3 -0
  28. package/dist/interfaces/IBox.js.map +1 -0
  29. package/dist/{IGeometry.d.ts → interfaces/IGeometry.d.ts} +1 -0
  30. package/dist/interfaces/IGeometry.d.ts.map +1 -0
  31. package/dist/{IGeometry.js → interfaces/IGeometry.js} +0 -0
  32. package/dist/{IGeometry.js.map → interfaces/IGeometry.js.map} +1 -1
  33. package/dist/interfaces/IPlane.d.ts +14 -0
  34. package/dist/interfaces/IPlane.d.ts.map +1 -0
  35. package/dist/interfaces/IPlane.js +3 -0
  36. package/dist/interfaces/IPlane.js.map +1 -0
  37. package/dist/interfaces/ISphere.d.ts +13 -0
  38. package/dist/interfaces/ISphere.d.ts.map +1 -0
  39. package/dist/interfaces/ISphere.js +3 -0
  40. package/dist/interfaces/ISphere.js.map +1 -0
  41. package/dist/interfaces/ISpherical.d.ts +10 -0
  42. package/dist/interfaces/ISpherical.d.ts.map +1 -0
  43. package/dist/interfaces/ISpherical.js +3 -0
  44. package/dist/interfaces/ISpherical.js.map +1 -0
  45. package/dist/interfaces/ITriangle.d.ts +8 -0
  46. package/dist/interfaces/ITriangle.d.ts.map +1 -0
  47. package/dist/interfaces/ITriangle.js +3 -0
  48. package/dist/interfaces/ITriangle.js.map +1 -0
  49. package/package.json +11 -8
  50. package/src/implementation/Box.ts +183 -0
  51. package/src/implementation/Plane.ts +86 -0
  52. package/src/implementation/Sphere.ts +72 -0
  53. package/src/implementation/Spherical.ts +61 -0
  54. package/src/implementation/Triangle.ts +51 -0
  55. package/src/index.ts +16 -0
  56. package/src/interfaces/IBox.ts +26 -0
  57. package/src/interfaces/IGeometry.ts +7 -0
  58. package/src/interfaces/IPlane.ts +23 -0
  59. package/src/interfaces/ISphere.ts +22 -0
  60. package/src/interfaces/ISpherical.ts +19 -0
  61. package/src/interfaces/ITriangle.ts +12 -0
  62. package/tsconfig.json +17 -0
  63. package/dist/Box.d.ts.map +0 -1
  64. package/dist/Box.js.map +0 -1
  65. package/dist/IGeometry.d.ts.map +0 -1
  66. package/dist/Plane.d.ts.map +0 -1
  67. package/dist/Plane.js.map +0 -1
  68. package/dist/Sphere.d.ts.map +0 -1
  69. package/dist/Sphere.js.map +0 -1
  70. package/dist/Spherical.d.ts.map +0 -1
  71. package/dist/Spherical.js.map +0 -1
  72. package/dist/Triangle.d.ts +0 -12
  73. package/dist/Triangle.d.ts.map +0 -1
  74. package/dist/Triangle.js.map +0 -1
@@ -1,24 +1,25 @@
1
1
  import { mat4, vec3 } from 'gl-matrix';
2
- import { IGeometry } from './IGeometry';
3
- import { Sphere } from './Sphere';
4
- export declare class Box implements IGeometry {
2
+ import { IBox } from '../interfaces/IBox';
3
+ import { ISphere } from '../interfaces/ISphere';
4
+ export declare class Box implements IBox {
5
5
  private _min;
6
6
  private _max;
7
7
  private _boundingSphere;
8
8
  private _boundingSphereState;
9
9
  constructor(_min?: vec3, _max?: vec3);
10
10
  intersect(origin: vec3, direction: vec3): number | null;
11
- get boundingSphere(): Sphere;
11
+ get boundingSphere(): ISphere;
12
12
  get max(): vec3;
13
13
  set max(value: vec3);
14
14
  get min(): vec3;
15
15
  set min(value: vec3);
16
16
  applyMatrix(matrix: mat4): Box;
17
- clone(): Box;
17
+ clone(): IBox;
18
18
  containsPoint(point: vec3): boolean;
19
19
  clampPoint(point: vec3): vec3;
20
- setFromAttributeArray(array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array): Box;
21
- union(box: Box): Box;
20
+ setFromAttributeArray(array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array): IBox;
21
+ union(box: IBox): IBox;
22
22
  isEmpty(): boolean;
23
+ reset(): void;
23
24
  }
24
25
  //# sourceMappingURL=Box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../src/implementation/Box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,qBAAa,GAAI,YAAW,IAAI;IAYxB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IAVhB,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,oBAAoB,CAE3B;gBAMW,IAAI,GAAE,IAAoD,EAC1D,IAAI,GAAE,IAAuD;IAOlE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAoC9D,IAAW,cAAc,IAAI,OAAO,CAUnC;IAED,IAAW,GAAG,IAAI,IAAI,CAErB;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,IAAI,EAEzB;IAED,IAAW,GAAG,IAAI,IAAI,CAErB;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,IAAI,EAEzB;IAMM,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG;IAqB9B,KAAK,IAAI,IAAI;IAIb,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAMnC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAO7B,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,IAAI;IAuBlH,KAAK,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAWtB,OAAO,IAAI,OAAO;IAKlB,KAAK,IAAI,IAAI;CAWvB"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Box = void 0;
4
4
  const gl_matrix_1 = require("gl-matrix");
5
- const Sphere_1 = require("./Sphere");
5
+ const __1 = require("..");
6
6
  class Box {
7
7
  // #endregion Properties (2)
8
8
  // #region Constructors (1)
@@ -10,7 +10,7 @@ class Box {
10
10
  this._min = _min;
11
11
  this._max = _max;
12
12
  // #region Properties (2)
13
- this._boundingSphere = new Sphere_1.Sphere();
13
+ this._boundingSphere = new __1.Sphere();
14
14
  this._boundingSphereState = {
15
15
  min: gl_matrix_1.vec3.create(), max: gl_matrix_1.vec3.create()
16
16
  };
@@ -148,6 +148,14 @@ class Box {
148
148
  return this.min[0] === Infinity && this.min[1] === Infinity && this.min[2] === Infinity &&
149
149
  this.max[0] === -Infinity && this.max[1] === -Infinity && this.max[2] === -Infinity;
150
150
  }
151
+ reset() {
152
+ this._boundingSphere = new __1.Sphere();
153
+ this._boundingSphereState = {
154
+ min: gl_matrix_1.vec3.create(), max: gl_matrix_1.vec3.create()
155
+ };
156
+ this._min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity);
157
+ this._max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity);
158
+ }
151
159
  }
152
160
  exports.Box = Box;
153
161
  //# sourceMappingURL=Box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/implementation/Box.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { mat4, vec3 } from 'gl-matrix';
2
- import { IGeometry } from './IGeometry';
3
- export declare class Plane implements IGeometry {
2
+ import { IPlane } from '../interfaces/IPlane';
3
+ export declare class Plane implements IPlane {
4
4
  private _normal;
5
5
  private _constant;
6
6
  constructor(_normal?: vec3, _constant?: number);
@@ -8,12 +8,13 @@ export declare class Plane implements IGeometry {
8
8
  set constant(value: number);
9
9
  get normal(): vec3;
10
10
  set normal(value: vec3);
11
- applyMatrix(matrix: mat4): IGeometry;
11
+ applyMatrix(matrix: mat4): IPlane;
12
12
  clampPoint(point: vec3): vec3;
13
- clone(): IGeometry;
13
+ clone(): IPlane;
14
14
  containsPoint(point: vec3): boolean;
15
15
  distanceToPoint(point: vec3): number;
16
16
  intersect(origin: vec3, direction: vec3): number | null;
17
- setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): Plane;
17
+ setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane;
18
+ reset(): void;
18
19
  }
19
20
  //# sourceMappingURL=Plane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../../src/implementation/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,qBAAa,KAAM,YAAW,MAAM;IAIpB,OAAO,CAAC,OAAO;IAAiC,OAAO,CAAC,SAAS;gBAAzD,OAAO,GAAE,IAA6B,EAAU,SAAS,GAAE,MAAU;IAMzF,IAAW,QAAQ,IAAI,MAAM,CAE/B;IAEE,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEnC;IAEE,IAAW,MAAM,IAAI,IAAI,CAE3B;IAEE,IAAW,MAAM,CAAC,KAAK,EAAE,IAAI,EAE/B;IAMS,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAQjC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAK7B,KAAK,IAAI,MAAM;IAIf,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAInC,eAAe,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAIpC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAcvD,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM;IAMhE,KAAK;CAMf"}
@@ -63,6 +63,10 @@ class Plane {
63
63
  this.constant = -gl_matrix_1.vec3.dot(point, this.normal);
64
64
  return this;
65
65
  }
66
+ reset() {
67
+ this._normal = gl_matrix_1.vec3.fromValues(1, 0, 0);
68
+ this._constant = 0;
69
+ }
66
70
  }
67
71
  exports.Plane = Plane;
68
72
  //# sourceMappingURL=Plane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plane.js","sourceRoot":"","sources":["../../src/implementation/Plane.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { mat4, vec3 } from 'gl-matrix';
2
- import { Box } from './Box';
3
- import { IGeometry } from './IGeometry';
4
- export declare class Sphere implements IGeometry {
2
+ import { IBox } from '../interfaces/IBox';
3
+ import { ISphere } from '../interfaces/ISphere';
4
+ export declare class Sphere implements ISphere {
5
5
  private _center;
6
6
  private _radius;
7
7
  constructor(_center?: vec3, _radius?: number);
@@ -10,9 +10,10 @@ export declare class Sphere implements IGeometry {
10
10
  get radius(): number;
11
11
  set radius(value: number);
12
12
  applyMatrix(matrix: mat4): Sphere;
13
- clone(): Sphere;
13
+ clone(): ISphere;
14
14
  containsPoint(point: vec3): boolean;
15
15
  clampPoint(point: vec3): vec3;
16
- setFromBox(box: Box): Sphere;
16
+ setFromBox(box: IBox): ISphere;
17
+ reset(): void;
17
18
  }
18
19
  //# sourceMappingURL=Sphere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sphere.d.ts","sourceRoot":"","sources":["../../src/implementation/Sphere.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,qBAAa,MAAO,YAAW,OAAO;IAI9B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBADP,OAAO,GAAE,IAAoB,EAC7B,OAAO,GAAE,MAAU;IAO/B,IAAW,MAAM,IAAI,IAAI,CAExB;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,IAAI,EAE5B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAMM,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAUjC,KAAK,IAAI,OAAO;IAIhB,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAInC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAI7B,UAAU,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO;IAO9B,KAAK;CAMf"}
@@ -48,6 +48,10 @@ class Sphere {
48
48
  this.radius = gl_matrix_1.vec3.dist(box.min, box.max) * 0.5;
49
49
  return this;
50
50
  }
51
+ reset() {
52
+ this._center = gl_matrix_1.vec3.create();
53
+ this._radius = 0;
54
+ }
51
55
  }
52
56
  exports.Sphere = Sphere;
53
57
  //# sourceMappingURL=Sphere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sphere.js","sourceRoot":"","sources":["../../src/implementation/Sphere.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { vec3 } from 'gl-matrix';
2
- export declare class Spherical {
2
+ import { ISpherical } from '../interfaces/ISpherical';
3
+ export declare class Spherical implements ISpherical {
3
4
  private _radius;
4
5
  private _phi;
5
6
  private _theta;
@@ -10,8 +11,8 @@ export declare class Spherical {
10
11
  set phi(value: number);
11
12
  get theta(): number;
12
13
  set theta(value: number);
13
- makeSafe(): void;
14
- fromVec3(p: vec3): Spherical;
14
+ makeSafe(): this;
15
+ fromVec3(p: vec3): ISpherical;
15
16
  toVec3(): vec3;
16
17
  }
17
18
  //# sourceMappingURL=Spherical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spherical.d.ts","sourceRoot":"","sources":["../../src/implementation/Spherical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,qBAAa,SAAU,YAAW,UAAU;IAEpC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;gBAFN,OAAO,GAAE,MAAU,EACnB,IAAI,GAAE,MAAU,EAChB,MAAM,GAAE,MAAU;IAI9B,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAGD,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAE3B;IAGD,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAEM,QAAQ;IAMR,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,UAAU;IAa7B,MAAM,IAAI,IAAI;CAIxB"}
@@ -29,6 +29,7 @@ class Spherical {
29
29
  makeSafe() {
30
30
  const EPS = 0.000001;
31
31
  this.phi = Math.max(EPS, Math.min(Math.PI - EPS, this.phi));
32
+ return this;
32
33
  }
33
34
  fromVec3(p) {
34
35
  this.radius = Math.sqrt(p[0] * p[0] + p[1] * p[1] + p[2] * p[2]);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spherical.js","sourceRoot":"","sources":["../../src/implementation/Spherical.ts"],"names":[],"mappings":";;;AAAA,yCAAgC;AAGhC,MAAa,SAAS;IAClB,YACY,UAAkB,CAAC,EACnB,OAAe,CAAC,EAChB,SAAiB,CAAC;QAFlB,YAAO,GAAP,OAAO,CAAY;QACnB,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAY;IAC1B,CAAC;IAGL,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAW,MAAM,CAAC,KAAa;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAGD,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAW,GAAG,CAAC,KAAa;QACxB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IAGD,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAW,KAAK,CAAC,KAAa;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAEM,QAAQ;QACX,MAAM,GAAG,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAC,CAAO;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;SAChB;aAAM;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACvE;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,GAAG,CAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACxD,OAAO,gBAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,KAAK,CAAE,EAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,GAAG,CAAE,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC;IAC7I,CAAC;CACJ;AAzDD,8BAyDC"}
@@ -0,0 +1,13 @@
1
+ import { mat4, vec3 } from 'gl-matrix';
2
+ import { ITriangle } from '../interfaces/ITriangle';
3
+ export declare class Triangle implements ITriangle {
4
+ private _v0;
5
+ private _v1;
6
+ private _v2;
7
+ constructor(_v0?: vec3, _v1?: vec3, _v2?: vec3);
8
+ applyMatrix(matrix: mat4): ITriangle;
9
+ clone(): ITriangle;
10
+ intersect(origin: vec3, direction: vec3): vec3 | null;
11
+ reset(): void;
12
+ }
13
+ //# sourceMappingURL=Triangle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Triangle.d.ts","sourceRoot":"","sources":["../../src/implementation/Triangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,qBAAa,QAAS,YAAW,SAAS;IAElC,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,GAAG;gBAFH,GAAG,GAAE,IAAoB,EACzB,GAAG,GAAE,IAAoB,EACzB,GAAG,GAAE,IAAoB;IAGrC,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS;IAOpC,KAAK,IAAI,SAAS;IAKlB,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;IAsBrD,KAAK;CAKR"}
@@ -39,6 +39,11 @@ class Triangle {
39
39
  const t = f * gl_matrix_1.vec3.dot(edge2, q);
40
40
  return t > EPSILON ? gl_matrix_1.vec3.add(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.multiply(gl_matrix_1.vec3.create(), direction, gl_matrix_1.vec3.fromValues(t, t, t)), origin) : null;
41
41
  }
42
+ reset() {
43
+ this._v0 = gl_matrix_1.vec3.create();
44
+ this._v1 = gl_matrix_1.vec3.create();
45
+ this._v2 = gl_matrix_1.vec3.create();
46
+ }
42
47
  }
43
48
  exports.Triangle = Triangle;
44
49
  //# sourceMappingURL=Triangle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Triangle.js","sourceRoot":"","sources":["../../src/implementation/Triangle.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,13 @@
1
- import { Box } from './Box';
2
- import { Plane } from './Plane';
3
- import { Sphere } from './Sphere';
4
- import { Spherical } from './Spherical';
5
- import { Triangle } from './Triangle';
6
- export { Box, Sphere, Spherical, Plane, Triangle };
1
+ import { Box } from './implementation/Box';
2
+ import { Plane } from './implementation/Plane';
3
+ import { Sphere } from './implementation/Sphere';
4
+ import { Spherical } from './implementation/Spherical';
5
+ import { Triangle } from './implementation/Triangle';
6
+ import { IBox } from './interfaces/IBox';
7
+ import { IGeometry } from './interfaces/IGeometry';
8
+ import { IPlane } from './interfaces/IPlane';
9
+ import { ISphere } from './interfaces/ISphere';
10
+ import { ISpherical } from './interfaces/ISpherical';
11
+ import { ITriangle } from './interfaces/ITriangle';
12
+ export { IBox, ISphere, ISpherical, IPlane, ITriangle, IGeometry, Box, Sphere, Spherical, Plane, Triangle };
7
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EACH,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAC1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,OAAO,EACH,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EACvD,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAC1C,CAAA"}
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Triangle = exports.Plane = exports.Spherical = exports.Sphere = exports.Box = void 0;
4
- const Box_1 = require("./Box");
4
+ const Box_1 = require("./implementation/Box");
5
5
  Object.defineProperty(exports, "Box", { enumerable: true, get: function () { return Box_1.Box; } });
6
- const Plane_1 = require("./Plane");
6
+ const Plane_1 = require("./implementation/Plane");
7
7
  Object.defineProperty(exports, "Plane", { enumerable: true, get: function () { return Plane_1.Plane; } });
8
- const Sphere_1 = require("./Sphere");
8
+ const Sphere_1 = require("./implementation/Sphere");
9
9
  Object.defineProperty(exports, "Sphere", { enumerable: true, get: function () { return Sphere_1.Sphere; } });
10
- const Spherical_1 = require("./Spherical");
10
+ const Spherical_1 = require("./implementation/Spherical");
11
11
  Object.defineProperty(exports, "Spherical", { enumerable: true, get: function () { return Spherical_1.Spherical; } });
12
- const Triangle_1 = require("./Triangle");
12
+ const Triangle_1 = require("./implementation/Triangle");
13
13
  Object.defineProperty(exports, "Triangle", { enumerable: true, get: function () { return Triangle_1.Triangle; } });
14
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAOvB,oFAPK,SAAG,OAOL;AANP,mCAA+B;AAMH,sFANnB,aAAK,OAMmB;AALjC,qCAAiC;AAKxB,uFALA,eAAM,OAKA;AAJf,2CAAuC;AAItB,0FAJR,qBAAS,OAIQ;AAH1B,yCAAqC;AAGF,yFAH1B,mBAAQ,OAG0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AActC,oFAdK,SAAG,OAcL;AAbP,kDAA8C;AAalB,sFAbnB,aAAK,OAamB;AAZjC,oDAAgD;AAYvC,uFAZA,eAAM,OAYA;AAXf,0DAAsD;AAWrC,0FAXR,qBAAS,OAWQ;AAV1B,wDAAoD;AAUjB,yFAV1B,mBAAQ,OAU0B"}
@@ -0,0 +1,17 @@
1
+ import { mat4, vec3 } from "gl-matrix";
2
+ import { IGeometry } from "./IGeometry";
3
+ import { ISphere } from "./ISphere";
4
+ export interface IBox extends IGeometry {
5
+ boundingSphere: ISphere;
6
+ max: vec3;
7
+ min: vec3;
8
+ applyMatrix(matrix: mat4): IBox;
9
+ clampPoint(point: vec3): vec3;
10
+ clone(): IBox;
11
+ containsPoint(point: vec3): boolean;
12
+ intersect(origin: vec3, direction: vec3): number | null;
13
+ isEmpty(): boolean;
14
+ setFromAttributeArray(array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array): IBox;
15
+ union(box: IBox): IBox;
16
+ }
17
+ //# sourceMappingURL=IBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IBox.d.ts","sourceRoot":"","sources":["../../src/interfaces/IBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,IAAK,SAAQ,SAAS;IAGnC,cAAc,EAAE,OAAO,CAAC;IACxB,GAAG,EAAE,IAAI,CAAC;IACV,GAAG,EAAE,IAAI,CAAC;IAMV,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,KAAK,IAAI,IAAI,CAAC;IACd,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC;IACnB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC;IACnH,KAAK,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;CAG1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IBox.js","sourceRoot":"","sources":["../../src/interfaces/IBox.ts"],"names":[],"mappings":""}
@@ -2,5 +2,6 @@ import { mat4 } from 'gl-matrix';
2
2
  export interface IGeometry {
3
3
  applyMatrix(matrix: mat4): IGeometry;
4
4
  clone(): IGeometry;
5
+ reset(): void;
5
6
  }
6
7
  //# sourceMappingURL=IGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGeometry.d.ts","sourceRoot":"","sources":["../../src/interfaces/IGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAQ,MAAM,WAAW,CAAA;AAEtC,MAAM,WAAW,SAAS;IACtB,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC;IACrC,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,IAAI,CAAC;CACjB"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"IGeometry.js","sourceRoot":"","sources":["../src/IGeometry.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"IGeometry.js","sourceRoot":"","sources":["../../src/interfaces/IGeometry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { mat4, vec3 } from "gl-matrix";
2
+ import { IGeometry } from "./IGeometry";
3
+ export interface IPlane extends IGeometry {
4
+ constant: number;
5
+ normal: vec3;
6
+ applyMatrix(matrix: mat4): IPlane;
7
+ clampPoint(point: vec3): vec3;
8
+ clone(): IPlane;
9
+ containsPoint(point: vec3): boolean;
10
+ distanceToPoint(point: vec3): number;
11
+ intersect(origin: vec3, direction: vec3): number | null;
12
+ setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane;
13
+ }
14
+ //# sourceMappingURL=IPlane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPlane.d.ts","sourceRoot":"","sources":["../../src/interfaces/IPlane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,MAAO,SAAQ,SAAS;IAGrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC;IAMb,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,KAAK,IAAI,MAAM,CAAC;IAChB,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;IACpC,eAAe,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;CAGpE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPlane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPlane.js","sourceRoot":"","sources":["../../src/interfaces/IPlane.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { mat4, vec3 } from "gl-matrix";
2
+ import { IBox } from "./IBox";
3
+ import { IGeometry } from "./IGeometry";
4
+ export interface ISphere extends IGeometry {
5
+ center: vec3;
6
+ radius: number;
7
+ applyMatrix(matrix: mat4): ISphere;
8
+ clampPoint(point: vec3): vec3;
9
+ clone(): ISphere;
10
+ containsPoint(point: vec3): boolean;
11
+ setFromBox(box: IBox): ISphere;
12
+ }
13
+ //# sourceMappingURL=ISphere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISphere.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISphere.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,OAAQ,SAAQ,SAAS;IAGtC,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IAMf,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACnC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,KAAK,IAAI,OAAO,CAAC;IACjB,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;IACpC,UAAU,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC;CAGlC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISphere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISphere.js","sourceRoot":"","sources":["../../src/interfaces/ISphere.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { vec3 } from "gl-matrix";
2
+ export interface ISpherical {
3
+ phi: number;
4
+ radius: number;
5
+ theta: number;
6
+ fromVec3(p: vec3): ISpherical;
7
+ makeSafe(): ISpherical;
8
+ toVec3(): vec3;
9
+ }
10
+ //# sourceMappingURL=ISpherical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISpherical.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISpherical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,WAAW,UAAU;IAGvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IAMd,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC;IAC9B,QAAQ,IAAI,UAAU,CAAC;IACvB,MAAM,IAAI,IAAI,CAAC;CAGlB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISpherical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISpherical.js","sourceRoot":"","sources":["../../src/interfaces/ISpherical.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { mat4, vec3 } from "gl-matrix";
2
+ import { IGeometry } from "./IGeometry";
3
+ export interface ITriangle extends IGeometry {
4
+ applyMatrix(matrix: mat4): IGeometry;
5
+ clone(): ITriangle;
6
+ intersect(origin: vec3, direction: vec3): vec3 | null;
7
+ }
8
+ //# sourceMappingURL=ITriangle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITriangle.d.ts","sourceRoot":"","sources":["../../src/interfaces/ITriangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,SAAU,SAAQ,SAAS;IAGxC,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC;IACrC,KAAK,IAAI,SAAS,CAAC;IACnB,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAGzD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITriangle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITriangle.js","sourceRoot":"","sources":["../../src/interfaces/ITriangle.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.shared.math",
3
- "version": "1.15.7",
3
+ "version": "2.0.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -10,7 +10,11 @@
10
10
  "test": "__tests__"
11
11
  },
12
12
  "files": [
13
- "dist"
13
+ "dist",
14
+ "src",
15
+ "package.json",
16
+ "README.md",
17
+ "tsconfig.json"
14
18
  ],
15
19
  "publishConfig": {
16
20
  "access": "public"
@@ -20,11 +24,10 @@
20
24
  "url": "git+https://github.com/shapediver/Viewer.git"
21
25
  },
22
26
  "scripts": {
23
- "test": "bash ../../scripts/test.sh",
24
27
  "check": "tsc --noEmit",
25
- "build": "bash ../../scripts/build.sh",
26
- "build-watch": "bash ../../scripts/build-watch.sh",
27
- "build-dep": "bash ../../scripts/build-dep.sh"
28
+ "build": "bash ../../scripts/building/build.sh",
29
+ "build-watch": "bash ../../scripts/building/build-watch.sh",
30
+ "build-dep": "bash ../../scripts/building/build-dep.sh"
28
31
  },
29
32
  "bugs": {
30
33
  "url": "https://github.com/shapediver/Viewer/issues"
@@ -36,9 +39,9 @@
36
39
  "testEnvironment": "node"
37
40
  },
38
41
  "dependencies": {
39
- "@shapediver/viewer.shared.services": "1.15.7",
42
+ "@shapediver/viewer.shared.services": "2.0.2",
40
43
  "gl-matrix": "3.3.0",
41
44
  "tsyringe": "^4.5.0"
42
45
  },
43
- "gitHead": "2b597ac1cf5808ace220b88a91b37c7852663785"
46
+ "gitHead": "1655aca09350a0a27686512bcac140df47c8a0ec"
44
47
  }