@math.gl/core 3.5.3 → 3.6.0-alpha.1

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 (192) hide show
  1. package/dist/classes/base/math-array.d.ts +36 -0
  2. package/dist/classes/base/math-array.d.ts.map +1 -0
  3. package/dist/classes/base/math-array.js +214 -0
  4. package/dist/classes/base/matrix.d.ts +12 -0
  5. package/dist/classes/base/matrix.d.ts.map +1 -0
  6. package/dist/classes/base/matrix.js +69 -0
  7. package/dist/classes/base/vector.d.ts +32 -0
  8. package/dist/classes/base/vector.d.ts.map +1 -0
  9. package/dist/classes/base/vector.js +133 -0
  10. package/dist/classes/euler.d.ts +73 -0
  11. package/dist/classes/euler.d.ts.map +1 -0
  12. package/dist/classes/euler.js +505 -0
  13. package/dist/classes/matrix3.d.ts +43 -0
  14. package/dist/classes/matrix3.d.ts.map +1 -0
  15. package/dist/classes/matrix3.js +192 -0
  16. package/dist/classes/matrix4.d.ts +102 -0
  17. package/dist/classes/matrix4.d.ts.map +1 -0
  18. package/dist/classes/matrix4.js +457 -0
  19. package/dist/classes/pose.d.ts +37 -0
  20. package/dist/classes/pose.d.ts.map +1 -0
  21. package/dist/classes/pose.js +126 -0
  22. package/dist/classes/quaternion.d.ts +42 -0
  23. package/dist/classes/quaternion.d.ts.map +1 -0
  24. package/dist/classes/quaternion.js +266 -0
  25. package/dist/classes/spherical-coordinates.d.ts +40 -0
  26. package/dist/classes/spherical-coordinates.d.ts.map +1 -0
  27. package/dist/classes/spherical-coordinates.js +142 -0
  28. package/dist/classes/vector2.d.ts +19 -0
  29. package/dist/classes/vector2.d.ts.map +1 -0
  30. package/dist/classes/vector2.js +105 -0
  31. package/dist/classes/vector3.d.ts +41 -0
  32. package/dist/classes/vector3.d.ts.map +1 -0
  33. package/dist/classes/vector3.js +147 -0
  34. package/dist/classes/vector4.d.ts +23 -0
  35. package/dist/classes/vector4.d.ts.map +1 -0
  36. package/dist/classes/vector4.js +126 -0
  37. package/dist/es5/classes/base/math-array.d.js +46 -0
  38. package/dist/es5/classes/base/math-array.d.js.map +1 -0
  39. package/dist/es5/classes/base/math-array.js +178 -251
  40. package/dist/es5/classes/base/math-array.js.map +1 -1
  41. package/dist/es5/classes/base/matrix.d.js +15 -0
  42. package/dist/es5/classes/base/matrix.d.js.map +1 -0
  43. package/dist/es5/classes/base/matrix.js +54 -88
  44. package/dist/es5/classes/base/matrix.js.map +1 -1
  45. package/dist/es5/classes/base/vector.d.js +24 -0
  46. package/dist/es5/classes/base/vector.d.js.map +1 -0
  47. package/dist/es5/classes/base/vector.js +121 -179
  48. package/dist/es5/classes/base/vector.js.map +1 -1
  49. package/dist/es5/classes/euler.d.js +45 -0
  50. package/dist/es5/classes/euler.d.js.map +1 -0
  51. package/dist/es5/classes/euler.js +468 -549
  52. package/dist/es5/classes/euler.js.map +1 -1
  53. package/dist/es5/classes/matrix3.d.js +25 -0
  54. package/dist/es5/classes/matrix3.d.js.map +1 -0
  55. package/dist/es5/classes/matrix3.js +157 -206
  56. package/dist/es5/classes/matrix3.js.map +1 -1
  57. package/dist/es5/classes/matrix4.d.js +25 -0
  58. package/dist/es5/classes/matrix4.d.js.map +1 -0
  59. package/dist/es5/classes/matrix4.js +410 -500
  60. package/dist/es5/classes/matrix4.js.map +1 -1
  61. package/dist/es5/classes/pose.d.js +25 -0
  62. package/dist/es5/classes/pose.d.js.map +1 -0
  63. package/dist/es5/classes/pose.js +101 -125
  64. package/dist/es5/classes/pose.js.map +1 -1
  65. package/dist/es5/classes/quaternion.d.js +27 -0
  66. package/dist/es5/classes/quaternion.d.js.map +1 -0
  67. package/dist/es5/classes/quaternion.js +213 -277
  68. package/dist/es5/classes/quaternion.js.map +1 -1
  69. package/dist/es5/classes/spherical-coordinates.d.js +27 -0
  70. package/dist/es5/classes/spherical-coordinates.d.js.map +1 -0
  71. package/dist/es5/classes/spherical-coordinates.js +125 -166
  72. package/dist/es5/classes/spherical-coordinates.js.map +1 -1
  73. package/dist/es5/classes/vector2.d.js +18 -0
  74. package/dist/es5/classes/vector2.d.js.map +1 -0
  75. package/dist/es5/classes/vector2.js +76 -118
  76. package/dist/es5/classes/vector2.js.map +1 -1
  77. package/dist/es5/classes/vector3.d.js +24 -0
  78. package/dist/es5/classes/vector3.d.js.map +1 -0
  79. package/dist/es5/classes/vector3.js +120 -167
  80. package/dist/es5/classes/vector3.js.map +1 -1
  81. package/dist/es5/classes/vector4.d.js +25 -0
  82. package/dist/es5/classes/vector4.d.js.map +1 -0
  83. package/dist/es5/classes/vector4.js +95 -137
  84. package/dist/es5/classes/vector4.js.map +1 -1
  85. package/dist/es5/docs/README.md +0 -0
  86. package/dist/es5/index.js +105 -123
  87. package/dist/es5/index.js.map +1 -1
  88. package/dist/es5/lib/assert.js.map +1 -1
  89. package/dist/es5/lib/common.js +55 -84
  90. package/dist/es5/lib/common.js.map +1 -1
  91. package/dist/es5/lib/gl-matrix-extras.js +14 -14
  92. package/dist/es5/lib/gl-matrix-extras.js.map +1 -1
  93. package/dist/es5/lib/math-utils.js.map +1 -1
  94. package/dist/es5/lib/validators.js +3 -5
  95. package/dist/es5/lib/validators.js.map +1 -1
  96. package/dist/esm/classes/base/math-array.d.js +36 -0
  97. package/dist/esm/classes/base/math-array.d.js.map +1 -0
  98. package/dist/esm/classes/base/matrix.d.js +3 -0
  99. package/dist/esm/classes/base/matrix.d.js.map +1 -0
  100. package/dist/esm/classes/base/vector.d.js +13 -0
  101. package/dist/esm/classes/base/vector.d.js.map +1 -0
  102. package/dist/esm/classes/euler.d.js +55 -0
  103. package/dist/esm/classes/euler.d.js.map +1 -0
  104. package/dist/esm/classes/euler.js +1 -1
  105. package/dist/esm/classes/euler.js.map +1 -1
  106. package/dist/esm/classes/matrix3.d.js +15 -0
  107. package/dist/esm/classes/matrix3.d.js.map +1 -0
  108. package/dist/esm/classes/matrix4.d.js +15 -0
  109. package/dist/esm/classes/matrix4.d.js.map +1 -0
  110. package/dist/esm/classes/pose.d.js +18 -0
  111. package/dist/esm/classes/pose.d.js.map +1 -0
  112. package/dist/esm/classes/quaternion.d.js +19 -0
  113. package/dist/esm/classes/quaternion.d.js.map +1 -0
  114. package/dist/esm/classes/spherical-coordinates.d.js +22 -0
  115. package/dist/esm/classes/spherical-coordinates.d.js.map +1 -0
  116. package/dist/esm/classes/vector2.d.js +6 -0
  117. package/dist/esm/classes/vector2.d.js.map +1 -0
  118. package/dist/esm/classes/vector3.d.js +13 -0
  119. package/dist/esm/classes/vector3.d.js.map +1 -0
  120. package/dist/esm/classes/vector4.d.js +15 -0
  121. package/dist/esm/classes/vector4.d.js.map +1 -0
  122. package/dist/esm/docs/README.md +0 -0
  123. package/dist/esm/index.js +2 -13
  124. package/dist/esm/index.js.map +1 -1
  125. package/dist/esm/lib/assert.js.map +1 -1
  126. package/dist/esm/lib/common.js +34 -37
  127. package/dist/esm/lib/common.js.map +1 -1
  128. package/dist/esm/lib/gl-matrix-extras.js.map +1 -1
  129. package/dist/esm/lib/math-utils.js.map +1 -1
  130. package/dist/esm/lib/validators.js.map +1 -1
  131. package/dist/index.d.ts +17 -0
  132. package/dist/index.d.ts.map +1 -0
  133. package/dist/index.js +24 -0
  134. package/dist/lib/assert.d.ts +2 -0
  135. package/dist/lib/assert.d.ts.map +1 -0
  136. package/dist/lib/assert.js +5 -0
  137. package/dist/lib/common.d.ts +90 -0
  138. package/dist/lib/common.d.ts.map +1 -0
  139. package/dist/lib/common.js +223 -0
  140. package/dist/lib/gl-matrix-extras.d.ts +6 -0
  141. package/dist/lib/gl-matrix-extras.d.ts.map +1 -0
  142. package/dist/lib/gl-matrix-extras.js +50 -0
  143. package/dist/lib/math-utils.d.ts +28 -0
  144. package/dist/lib/math-utils.d.ts.map +1 -0
  145. package/dist/lib/math-utils.js +28 -0
  146. package/dist/lib/validators.d.ts +5 -0
  147. package/dist/lib/validators.d.ts.map +1 -0
  148. package/dist/lib/validators.js +52 -0
  149. package/package.json +5 -4
  150. package/src/classes/base/math-array.d.ts +0 -1
  151. package/src/classes/euler.js +1 -1
  152. package/src/docs/README.md +0 -0
  153. package/{dist/esm/index.d.ts → src/index.ts} +32 -34
  154. package/src/lib/{assert.js → assert.ts} +1 -1
  155. package/src/lib/common.ts +283 -0
  156. package/src/lib/{gl-matrix-extras.js → gl-matrix-extras.ts} +0 -0
  157. package/src/lib/{math-utils.js → math-utils.ts} +0 -0
  158. package/src/lib/{validators.js → validators.ts} +0 -0
  159. package/dist/es5/addons/polygon.d.ts +0 -17
  160. package/dist/es5/classes/base/math-array.d.ts +0 -56
  161. package/dist/es5/classes/base/matrix.d.ts +0 -15
  162. package/dist/es5/classes/base/vector.d.ts +0 -45
  163. package/dist/es5/classes/euler.d.ts +0 -92
  164. package/dist/es5/classes/matrix3.d.ts +0 -91
  165. package/dist/es5/classes/matrix4.d.ts +0 -161
  166. package/dist/es5/classes/pose.d.ts +0 -92
  167. package/dist/es5/classes/quaternion.d.ts +0 -107
  168. package/dist/es5/classes/spherical-coordinates.d.ts +0 -87
  169. package/dist/es5/classes/vector2.d.ts +0 -65
  170. package/dist/es5/classes/vector3.d.ts +0 -65
  171. package/dist/es5/classes/vector4.d.ts +0 -34
  172. package/dist/es5/index.d.ts +0 -54
  173. package/dist/es5/lib/common.d.ts +0 -80
  174. package/dist/esm/addons/polygon.d.ts +0 -17
  175. package/dist/esm/classes/base/math-array.d.ts +0 -56
  176. package/dist/esm/classes/base/matrix.d.ts +0 -15
  177. package/dist/esm/classes/base/vector.d.ts +0 -45
  178. package/dist/esm/classes/euler.d.ts +0 -92
  179. package/dist/esm/classes/matrix3.d.ts +0 -91
  180. package/dist/esm/classes/matrix4.d.ts +0 -161
  181. package/dist/esm/classes/pose.d.ts +0 -92
  182. package/dist/esm/classes/quaternion.d.ts +0 -107
  183. package/dist/esm/classes/spherical-coordinates.d.ts +0 -87
  184. package/dist/esm/classes/vector2.d.ts +0 -65
  185. package/dist/esm/classes/vector3.d.ts +0 -65
  186. package/dist/esm/classes/vector4.d.ts +0 -34
  187. package/dist/esm/lib/common.d.ts +0 -80
  188. package/src/addons/polygon.d.ts +0 -17
  189. package/src/index.d.ts +0 -54
  190. package/src/index.js +0 -86
  191. package/src/lib/common.d.ts +0 -80
  192. package/src/lib/common.js +0 -222
@@ -7,116 +7,82 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _mathArray = _interopRequireDefault(require("./math-array"));
11
11
 
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _validators = require("../../lib/validators");
13
13
 
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _common = require("../../lib/common");
15
15
 
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
16
+ var _assert = _interopRequireDefault(require("../../lib/assert"));
17
17
 
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
18
+ class Matrix extends _mathArray.default {
19
+ get ELEMENTS() {
20
+ (0, _assert.default)(false);
21
+ return 0;
22
+ }
19
23
 
20
- var _mathArray = _interopRequireDefault(require("./math-array"));
24
+ get RANK() {
25
+ (0, _assert.default)(false);
26
+ return 0;
27
+ }
21
28
 
22
- var _validators = require("../../lib/validators");
29
+ toString() {
30
+ let string = '[';
23
31
 
24
- var _common = require("../../lib/common");
32
+ if (_common.config.printRowMajor) {
33
+ string += 'row-major:';
25
34
 
26
- var _assert = _interopRequireDefault(require("../../lib/assert"));
35
+ for (let row = 0; row < this.RANK; ++row) {
36
+ for (let col = 0; col < this.RANK; ++col) {
37
+ string += " ".concat(this[col * this.RANK + row]);
38
+ }
39
+ }
40
+ } else {
41
+ string += 'column-major:';
27
42
 
28
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
43
+ for (let i = 0; i < this.ELEMENTS; ++i) {
44
+ string += " ".concat(this[i]);
45
+ }
46
+ }
29
47
 
30
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
48
+ string += ']';
49
+ return string;
50
+ }
31
51
 
32
- var Matrix = function (_MathArray) {
33
- (0, _inherits2.default)(Matrix, _MathArray);
52
+ getElementIndex(row, col) {
53
+ return col * this.RANK + row;
54
+ }
34
55
 
35
- var _super = _createSuper(Matrix);
56
+ getElement(row, col) {
57
+ return this[col * this.RANK + row];
58
+ }
36
59
 
37
- function Matrix() {
38
- (0, _classCallCheck2.default)(this, Matrix);
39
- return _super.apply(this, arguments);
60
+ setElement(row, col, value) {
61
+ this[col * this.RANK + row] = (0, _validators.checkNumber)(value);
62
+ return this;
40
63
  }
41
64
 
42
- (0, _createClass2.default)(Matrix, [{
43
- key: "ELEMENTS",
44
- get: function get() {
45
- (0, _assert.default)(false);
46
- return 0;
47
- }
48
- }, {
49
- key: "RANK",
50
- get: function get() {
51
- (0, _assert.default)(false);
52
- return 0;
65
+ getColumn(columnIndex, result = new Array(this.RANK).fill(-0)) {
66
+ const firstIndex = columnIndex * this.RANK;
67
+
68
+ for (let i = 0; i < this.RANK; ++i) {
69
+ result[i] = this[firstIndex + i];
53
70
  }
54
- }, {
55
- key: "toString",
56
- value: function toString() {
57
- var string = '[';
58
-
59
- if (_common.config.printRowMajor) {
60
- string += 'row-major:';
61
-
62
- for (var row = 0; row < this.RANK; ++row) {
63
- for (var col = 0; col < this.RANK; ++col) {
64
- string += " ".concat(this[col * this.RANK + row]);
65
- }
66
- }
67
- } else {
68
- string += 'column-major:';
69
71
 
70
- for (var i = 0; i < this.ELEMENTS; ++i) {
71
- string += " ".concat(this[i]);
72
- }
73
- }
72
+ return result;
73
+ }
74
74
 
75
- string += ']';
76
- return string;
77
- }
78
- }, {
79
- key: "getElementIndex",
80
- value: function getElementIndex(row, col) {
81
- return col * this.RANK + row;
82
- }
83
- }, {
84
- key: "getElement",
85
- value: function getElement(row, col) {
86
- return this[col * this.RANK + row];
87
- }
88
- }, {
89
- key: "setElement",
90
- value: function setElement(row, col, value) {
91
- this[col * this.RANK + row] = (0, _validators.checkNumber)(value);
92
- return this;
93
- }
94
- }, {
95
- key: "getColumn",
96
- value: function getColumn(columnIndex) {
97
- var result = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Array(this.RANK).fill(-0);
98
- var firstIndex = columnIndex * this.RANK;
99
-
100
- for (var i = 0; i < this.RANK; ++i) {
101
- result[i] = this[firstIndex + i];
102
- }
75
+ setColumn(columnIndex, columnVector) {
76
+ const firstIndex = columnIndex * this.RANK;
103
77
 
104
- return result;
78
+ for (let i = 0; i < this.RANK; ++i) {
79
+ this[firstIndex + i] = columnVector[i];
105
80
  }
106
- }, {
107
- key: "setColumn",
108
- value: function setColumn(columnIndex, columnVector) {
109
- var firstIndex = columnIndex * this.RANK;
110
81
 
111
- for (var i = 0; i < this.RANK; ++i) {
112
- this[firstIndex + i] = columnVector[i];
113
- }
82
+ return this;
83
+ }
114
84
 
115
- return this;
116
- }
117
- }]);
118
- return Matrix;
119
- }(_mathArray.default);
85
+ }
120
86
 
121
87
  exports.default = Matrix;
122
88
  //# sourceMappingURL=matrix.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/classes/base/matrix.js"],"names":["Matrix","string","config","printRowMajor","row","RANK","col","i","ELEMENTS","value","columnIndex","result","Array","fill","firstIndex","columnVector","MathArray"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEqBA,M;;;;;;;;;;;;SAEnB,eAAe;AACb,2BAAO,KAAP;AACA,aAAO,CAAP;AACD;;;SAED,eAAW;AACT,2BAAO,KAAP;AACA,aAAO,CAAP;AACD;;;WAaD,oBAAW;AACT,UAAIC,MAAM,GAAG,GAAb;;AACA,UAAIC,eAAOC,aAAX,EAA0B;AACxBF,QAAAA,MAAM,IAAI,YAAV;;AACA,aAAK,IAAIG,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAG,KAAKC,IAA7B,EAAmC,EAAED,GAArC,EAA0C;AACxC,eAAK,IAAIE,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAG,KAAKD,IAA7B,EAAmC,EAAEC,GAArC,EAA0C;AACxCL,YAAAA,MAAM,eAAQ,KAAKK,GAAG,GAAG,KAAKD,IAAX,GAAkBD,GAAvB,CAAR,CAAN;AACD;AACF;AACF,OAPD,MAOO;AACLH,QAAAA,MAAM,IAAI,eAAV;;AACA,aAAK,IAAIM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKC,QAAzB,EAAmC,EAAED,CAArC,EAAwC;AACtCN,UAAAA,MAAM,eAAQ,KAAKM,CAAL,CAAR,CAAN;AACD;AACF;;AACDN,MAAAA,MAAM,IAAI,GAAV;AACA,aAAOA,MAAP;AACD;;;WAED,yBAAgBG,GAAhB,EAAqBE,GAArB,EAA0B;AACxB,aAAOA,GAAG,GAAG,KAAKD,IAAX,GAAkBD,GAAzB;AACD;;;WAGD,oBAAWA,GAAX,EAAgBE,GAAhB,EAAqB;AACnB,aAAO,KAAKA,GAAG,GAAG,KAAKD,IAAX,GAAkBD,GAAvB,CAAP;AACD;;;WAGD,oBAAWA,GAAX,EAAgBE,GAAhB,EAAqBG,KAArB,EAA4B;AAC1B,WAAKH,GAAG,GAAG,KAAKD,IAAX,GAAkBD,GAAvB,IAA8B,6BAAYK,KAAZ,CAA9B;AACA,aAAO,IAAP;AACD;;;WAED,mBAAUC,WAAV,EAA+D;AAAA,UAAxCC,MAAwC,uEAA/B,IAAIC,KAAJ,CAAU,KAAKP,IAAf,EAAqBQ,IAArB,CAA0B,CAAC,CAA3B,CAA+B;AAC7D,UAAMC,UAAU,GAAGJ,WAAW,GAAG,KAAKL,IAAtC;;AACA,WAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKF,IAAzB,EAA+B,EAAEE,CAAjC,EAAoC;AAClCI,QAAAA,MAAM,CAACJ,CAAD,CAAN,GAAY,KAAKO,UAAU,GAAGP,CAAlB,CAAZ;AACD;;AACD,aAAOI,MAAP;AACD;;;WAED,mBAAUD,WAAV,EAAuBK,YAAvB,EAAqC;AACnC,UAAMD,UAAU,GAAGJ,WAAW,GAAG,KAAKL,IAAtC;;AACA,WAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKF,IAAzB,EAA+B,EAAEE,CAAjC,EAAoC;AAClC,aAAKO,UAAU,GAAGP,CAAlB,IAAuBQ,YAAY,CAACR,CAAD,CAAnC;AACD;;AACD,aAAO,IAAP;AACD;;;EAvEiCS,kB","sourcesContent":["import MathArray from './math-array';\nimport {checkNumber} from '../../lib/validators';\nimport {config} from '../../lib/common';\nimport assert from '../../lib/assert';\n\nexport default class Matrix extends MathArray {\n // Defined by derived class\n get ELEMENTS() {\n assert(false);\n return 0;\n }\n\n get RANK() {\n assert(false);\n return 0;\n }\n\n // fromObject(object) {\n // const array = object.elements;\n // return this.fromRowMajor(array);\n // }\n\n // toObject(object) {\n // const array = object.elements;\n // this.toRowMajor(array);\n // return object;\n // }\n\n toString() {\n let string = '[';\n if (config.printRowMajor) {\n string += 'row-major:';\n for (let row = 0; row < this.RANK; ++row) {\n for (let col = 0; col < this.RANK; ++col) {\n string += ` ${this[col * this.RANK + row]}`;\n }\n }\n } else {\n string += 'column-major:';\n for (let i = 0; i < this.ELEMENTS; ++i) {\n string += ` ${this[i]}`;\n }\n }\n string += ']';\n return string;\n }\n\n getElementIndex(row, col) {\n return col * this.RANK + row;\n }\n\n // By default assumes row major indices\n getElement(row, col) {\n return this[col * this.RANK + row];\n }\n\n // By default assumes row major indices\n setElement(row, col, value) {\n this[col * this.RANK + row] = checkNumber(value);\n return this;\n }\n\n getColumn(columnIndex, result = new Array(this.RANK).fill(-0)) {\n const firstIndex = columnIndex * this.RANK;\n for (let i = 0; i < this.RANK; ++i) {\n result[i] = this[firstIndex + i];\n }\n return result;\n }\n\n setColumn(columnIndex, columnVector) {\n const firstIndex = columnIndex * this.RANK;\n for (let i = 0; i < this.RANK; ++i) {\n this[firstIndex + i] = columnVector[i];\n }\n return this;\n }\n}\n"],"file":"matrix.js"}
1
+ {"version":3,"sources":["../../../../src/classes/base/matrix.js"],"names":["Matrix","MathArray","ELEMENTS","RANK","toString","string","config","printRowMajor","row","col","i","getElementIndex","getElement","setElement","value","getColumn","columnIndex","result","Array","fill","firstIndex","setColumn","columnVector"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEe,MAAMA,MAAN,SAAqBC,kBAArB,CAA+B;AAEhC,MAARC,QAAQ,GAAG;AACb,yBAAO,KAAP;AACA,WAAO,CAAP;AACD;;AAEO,MAAJC,IAAI,GAAG;AACT,yBAAO,KAAP;AACA,WAAO,CAAP;AACD;;AAaDC,EAAAA,QAAQ,GAAG;AACT,QAAIC,MAAM,GAAG,GAAb;;AACA,QAAIC,eAAOC,aAAX,EAA0B;AACxBF,MAAAA,MAAM,IAAI,YAAV;;AACA,WAAK,IAAIG,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAG,KAAKL,IAA7B,EAAmC,EAAEK,GAArC,EAA0C;AACxC,aAAK,IAAIC,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAG,KAAKN,IAA7B,EAAmC,EAAEM,GAArC,EAA0C;AACxCJ,UAAAA,MAAM,eAAQ,KAAKI,GAAG,GAAG,KAAKN,IAAX,GAAkBK,GAAvB,CAAR,CAAN;AACD;AACF;AACF,KAPD,MAOO;AACLH,MAAAA,MAAM,IAAI,eAAV;;AACA,WAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKR,QAAzB,EAAmC,EAAEQ,CAArC,EAAwC;AACtCL,QAAAA,MAAM,eAAQ,KAAKK,CAAL,CAAR,CAAN;AACD;AACF;;AACDL,IAAAA,MAAM,IAAI,GAAV;AACA,WAAOA,MAAP;AACD;;AAEDM,EAAAA,eAAe,CAACH,GAAD,EAAMC,GAAN,EAAW;AACxB,WAAOA,GAAG,GAAG,KAAKN,IAAX,GAAkBK,GAAzB;AACD;;AAGDI,EAAAA,UAAU,CAACJ,GAAD,EAAMC,GAAN,EAAW;AACnB,WAAO,KAAKA,GAAG,GAAG,KAAKN,IAAX,GAAkBK,GAAvB,CAAP;AACD;;AAGDK,EAAAA,UAAU,CAACL,GAAD,EAAMC,GAAN,EAAWK,KAAX,EAAkB;AAC1B,SAAKL,GAAG,GAAG,KAAKN,IAAX,GAAkBK,GAAvB,IAA8B,6BAAYM,KAAZ,CAA9B;AACA,WAAO,IAAP;AACD;;AAEDC,EAAAA,SAAS,CAACC,WAAD,EAAcC,MAAM,GAAG,IAAIC,KAAJ,CAAU,KAAKf,IAAf,EAAqBgB,IAArB,CAA0B,CAAC,CAA3B,CAAvB,EAAsD;AAC7D,UAAMC,UAAU,GAAGJ,WAAW,GAAG,KAAKb,IAAtC;;AACA,SAAK,IAAIO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKP,IAAzB,EAA+B,EAAEO,CAAjC,EAAoC;AAClCO,MAAAA,MAAM,CAACP,CAAD,CAAN,GAAY,KAAKU,UAAU,GAAGV,CAAlB,CAAZ;AACD;;AACD,WAAOO,MAAP;AACD;;AAEDI,EAAAA,SAAS,CAACL,WAAD,EAAcM,YAAd,EAA4B;AACnC,UAAMF,UAAU,GAAGJ,WAAW,GAAG,KAAKb,IAAtC;;AACA,SAAK,IAAIO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKP,IAAzB,EAA+B,EAAEO,CAAjC,EAAoC;AAClC,WAAKU,UAAU,GAAGV,CAAlB,IAAuBY,YAAY,CAACZ,CAAD,CAAnC;AACD;;AACD,WAAO,IAAP;AACD;;AAvE2C","sourcesContent":["import MathArray from './math-array';\nimport {checkNumber} from '../../lib/validators';\nimport {config} from '../../lib/common';\nimport assert from '../../lib/assert';\n\nexport default class Matrix extends MathArray {\n // Defined by derived class\n get ELEMENTS() {\n assert(false);\n return 0;\n }\n\n get RANK() {\n assert(false);\n return 0;\n }\n\n // fromObject(object) {\n // const array = object.elements;\n // return this.fromRowMajor(array);\n // }\n\n // toObject(object) {\n // const array = object.elements;\n // this.toRowMajor(array);\n // return object;\n // }\n\n toString() {\n let string = '[';\n if (config.printRowMajor) {\n string += 'row-major:';\n for (let row = 0; row < this.RANK; ++row) {\n for (let col = 0; col < this.RANK; ++col) {\n string += ` ${this[col * this.RANK + row]}`;\n }\n }\n } else {\n string += 'column-major:';\n for (let i = 0; i < this.ELEMENTS; ++i) {\n string += ` ${this[i]}`;\n }\n }\n string += ']';\n return string;\n }\n\n getElementIndex(row, col) {\n return col * this.RANK + row;\n }\n\n // By default assumes row major indices\n getElement(row, col) {\n return this[col * this.RANK + row];\n }\n\n // By default assumes row major indices\n setElement(row, col, value) {\n this[col * this.RANK + row] = checkNumber(value);\n return this;\n }\n\n getColumn(columnIndex, result = new Array(this.RANK).fill(-0)) {\n const firstIndex = columnIndex * this.RANK;\n for (let i = 0; i < this.RANK; ++i) {\n result[i] = this[firstIndex + i];\n }\n return result;\n }\n\n setColumn(columnIndex, columnVector) {\n const firstIndex = columnIndex * this.RANK;\n for (let i = 0; i < this.RANK; ++i) {\n this[firstIndex + i] = columnVector[i];\n }\n return this;\n }\n}\n"],"file":"matrix.js"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _mathArray = _interopRequireDefault(require("./math-array"));
13
+
14
+ class Vector extends _mathArray.default {
15
+ constructor(...args) {
16
+ super(...args);
17
+ (0, _defineProperty2.default)(this, "x", void 0);
18
+ (0, _defineProperty2.default)(this, "y", void 0);
19
+ }
20
+
21
+ }
22
+
23
+ exports.default = Vector;
24
+ //# sourceMappingURL=vector.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/classes/base/vector.d.ts"],"names":["Vector","MathArray"],"mappings":";;;;;;;;;;;AAAA;;AAGe,MAAeA,MAAf,SAA0CC,kBAA1C,CAAgE;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA","sourcesContent":["import MathArray from './math-array';\n\n/** Base class for vectors */\nexport default abstract class Vector<VectorType> extends MathArray<VectorType> {\n // VIRTUAL METHODS\n // copy(vector) {\n\n // ACCESSORS\n\n x: number;\n y: number;\n\n // NOTE: `length` is a reserved word for Arrays, so we can't use `v.length()`\n len(): number;\n magnitude(): number;\n lengthSquared(): number;\n magnitudeSquared(): number;\n\n distance(mathArray): number;\n\n distanceSquared(mathArray): number;\n\n dot(mathArray): number;\n // MODIFIERS\n\n normalize(): VectorType;\n\n multiply(...vectors): VectorType;\n\n divide(...vectors): VectorType;\n\n // THREE.js compatibility\n lengthSq(): number;\n distanceTo(vector: VectorType): number;\n distanceToSquared(vector): number;\n\n getComponent(i): number;\n setComponent(i, value): number;\n\n addVectors(a: VectorType, b: VectorType): VectorType;\n subVectors(a: VectorType, b: VectorType): VectorType;\n multiplyVectors(a: VectorType, b: VectorType): VectorType;\n\n addScaledVector(a: VectorType, b: VectorType): VectorType;\n}\n"],"file":"vector.d.js"}
@@ -7,216 +7,158 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _mathArray = _interopRequireDefault(require("./math-array"));
11
11
 
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _validators = require("../../lib/validators");
13
13
 
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _assert = _interopRequireDefault(require("../../lib/assert"));
15
15
 
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
16
+ class Vector extends _mathArray.default {
17
+ get ELEMENTS() {
18
+ (0, _assert.default)(false);
19
+ return 0;
20
+ }
17
21
 
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
22
+ copy(vector) {
23
+ (0, _assert.default)(false);
24
+ return this;
25
+ }
19
26
 
20
- var _mathArray = _interopRequireDefault(require("./math-array"));
27
+ get x() {
28
+ return this[0];
29
+ }
21
30
 
22
- var _validators = require("../../lib/validators");
31
+ set x(value) {
32
+ this[0] = (0, _validators.checkNumber)(value);
33
+ }
23
34
 
24
- var _assert = _interopRequireDefault(require("../../lib/assert"));
35
+ get y() {
36
+ return this[1];
37
+ }
25
38
 
26
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
39
+ set y(value) {
40
+ this[1] = (0, _validators.checkNumber)(value);
41
+ }
27
42
 
28
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
43
+ len() {
44
+ return Math.sqrt(this.lengthSquared());
45
+ }
29
46
 
30
- var Vector = function (_MathArray) {
31
- (0, _inherits2.default)(Vector, _MathArray);
47
+ magnitude() {
48
+ return this.len();
49
+ }
32
50
 
33
- var _super = _createSuper(Vector);
51
+ lengthSquared() {
52
+ let length = 0;
34
53
 
35
- function Vector() {
36
- (0, _classCallCheck2.default)(this, Vector);
37
- return _super.apply(this, arguments);
54
+ for (let i = 0; i < this.ELEMENTS; ++i) {
55
+ length += this[i] * this[i];
56
+ }
57
+
58
+ return length;
38
59
  }
39
60
 
40
- (0, _createClass2.default)(Vector, [{
41
- key: "ELEMENTS",
42
- get: function get() {
43
- (0, _assert.default)(false);
44
- return 0;
45
- }
46
- }, {
47
- key: "copy",
48
- value: function copy(vector) {
49
- (0, _assert.default)(false);
50
- return this;
51
- }
52
- }, {
53
- key: "x",
54
- get: function get() {
55
- return this[0];
56
- },
57
- set: function set(value) {
58
- this[0] = (0, _validators.checkNumber)(value);
59
- }
60
- }, {
61
- key: "y",
62
- get: function get() {
63
- return this[1];
64
- },
65
- set: function set(value) {
66
- this[1] = (0, _validators.checkNumber)(value);
67
- }
68
- }, {
69
- key: "len",
70
- value: function len() {
71
- return Math.sqrt(this.lengthSquared());
72
- }
73
- }, {
74
- key: "magnitude",
75
- value: function magnitude() {
76
- return this.len();
77
- }
78
- }, {
79
- key: "lengthSquared",
80
- value: function lengthSquared() {
81
- var length = 0;
61
+ magnitudeSquared() {
62
+ return this.lengthSquared();
63
+ }
82
64
 
83
- for (var i = 0; i < this.ELEMENTS; ++i) {
84
- length += this[i] * this[i];
85
- }
65
+ distance(mathArray) {
66
+ return Math.sqrt(this.distanceSquared(mathArray));
67
+ }
86
68
 
87
- return length;
88
- }
89
- }, {
90
- key: "magnitudeSquared",
91
- value: function magnitudeSquared() {
92
- return this.lengthSquared();
93
- }
94
- }, {
95
- key: "distance",
96
- value: function distance(mathArray) {
97
- return Math.sqrt(this.distanceSquared(mathArray));
98
- }
99
- }, {
100
- key: "distanceSquared",
101
- value: function distanceSquared(mathArray) {
102
- var length = 0;
103
-
104
- for (var i = 0; i < this.ELEMENTS; ++i) {
105
- var dist = this[i] - mathArray[i];
106
- length += dist * dist;
107
- }
69
+ distanceSquared(mathArray) {
70
+ let length = 0;
108
71
 
109
- return (0, _validators.checkNumber)(length);
72
+ for (let i = 0; i < this.ELEMENTS; ++i) {
73
+ const dist = this[i] - mathArray[i];
74
+ length += dist * dist;
110
75
  }
111
- }, {
112
- key: "dot",
113
- value: function dot(mathArray) {
114
- var product = 0;
115
76
 
116
- for (var i = 0; i < this.ELEMENTS; ++i) {
117
- product += this[i] * mathArray[i];
118
- }
77
+ return (0, _validators.checkNumber)(length);
78
+ }
119
79
 
120
- return (0, _validators.checkNumber)(product);
121
- }
122
- }, {
123
- key: "normalize",
124
- value: function normalize() {
125
- var length = this.magnitude();
126
-
127
- if (length !== 0) {
128
- for (var i = 0; i < this.ELEMENTS; ++i) {
129
- this[i] /= length;
130
- }
131
- }
80
+ dot(mathArray) {
81
+ let product = 0;
132
82
 
133
- return this.check();
83
+ for (let i = 0; i < this.ELEMENTS; ++i) {
84
+ product += this[i] * mathArray[i];
134
85
  }
135
- }, {
136
- key: "multiply",
137
- value: function multiply() {
138
- for (var _len = arguments.length, vectors = new Array(_len), _key = 0; _key < _len; _key++) {
139
- vectors[_key] = arguments[_key];
140
- }
141
86
 
142
- for (var _i = 0, _vectors = vectors; _i < _vectors.length; _i++) {
143
- var vector = _vectors[_i];
87
+ return (0, _validators.checkNumber)(product);
88
+ }
144
89
 
145
- for (var i = 0; i < this.ELEMENTS; ++i) {
146
- this[i] *= vector[i];
147
- }
148
- }
90
+ normalize() {
91
+ const length = this.magnitude();
149
92
 
150
- return this.check();
151
- }
152
- }, {
153
- key: "divide",
154
- value: function divide() {
155
- for (var _len2 = arguments.length, vectors = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
156
- vectors[_key2] = arguments[_key2];
93
+ if (length !== 0) {
94
+ for (let i = 0; i < this.ELEMENTS; ++i) {
95
+ this[i] /= length;
157
96
  }
97
+ }
158
98
 
159
- for (var _i2 = 0, _vectors2 = vectors; _i2 < _vectors2.length; _i2++) {
160
- var vector = _vectors2[_i2];
99
+ return this.check();
100
+ }
161
101
 
162
- for (var i = 0; i < this.ELEMENTS; ++i) {
163
- this[i] /= vector[i];
164
- }
102
+ multiply(...vectors) {
103
+ for (const vector of vectors) {
104
+ for (let i = 0; i < this.ELEMENTS; ++i) {
105
+ this[i] *= vector[i];
165
106
  }
166
-
167
- return this.check();
168
- }
169
- }, {
170
- key: "lengthSq",
171
- value: function lengthSq() {
172
- return this.lengthSquared();
173
- }
174
- }, {
175
- key: "distanceTo",
176
- value: function distanceTo(vector) {
177
- return this.distance(vector);
178
- }
179
- }, {
180
- key: "distanceToSquared",
181
- value: function distanceToSquared(vector) {
182
- return this.distanceSquared(vector);
183
- }
184
- }, {
185
- key: "getComponent",
186
- value: function getComponent(i) {
187
- (0, _assert.default)(i >= 0 && i < this.ELEMENTS, 'index is out of range');
188
- return (0, _validators.checkNumber)(this[i]);
189
- }
190
- }, {
191
- key: "setComponent",
192
- value: function setComponent(i, value) {
193
- (0, _assert.default)(i >= 0 && i < this.ELEMENTS, 'index is out of range');
194
- this[i] = value;
195
- return this.check();
196
- }
197
- }, {
198
- key: "addVectors",
199
- value: function addVectors(a, b) {
200
- return this.copy(a).add(b);
201
107
  }
202
- }, {
203
- key: "subVectors",
204
- value: function subVectors(a, b) {
205
- return this.copy(a).subtract(b);
206
- }
207
- }, {
208
- key: "multiplyVectors",
209
- value: function multiplyVectors(a, b) {
210
- return this.copy(a).multiply(b);
211
- }
212
- }, {
213
- key: "addScaledVector",
214
- value: function addScaledVector(a, b) {
215
- return this.add(new this.constructor(a).multiplyScalar(b));
108
+
109
+ return this.check();
110
+ }
111
+
112
+ divide(...vectors) {
113
+ for (const vector of vectors) {
114
+ for (let i = 0; i < this.ELEMENTS; ++i) {
115
+ this[i] /= vector[i];
116
+ }
216
117
  }
217
- }]);
218
- return Vector;
219
- }(_mathArray.default);
118
+
119
+ return this.check();
120
+ }
121
+
122
+ lengthSq() {
123
+ return this.lengthSquared();
124
+ }
125
+
126
+ distanceTo(vector) {
127
+ return this.distance(vector);
128
+ }
129
+
130
+ distanceToSquared(vector) {
131
+ return this.distanceSquared(vector);
132
+ }
133
+
134
+ getComponent(i) {
135
+ (0, _assert.default)(i >= 0 && i < this.ELEMENTS, 'index is out of range');
136
+ return (0, _validators.checkNumber)(this[i]);
137
+ }
138
+
139
+ setComponent(i, value) {
140
+ (0, _assert.default)(i >= 0 && i < this.ELEMENTS, 'index is out of range');
141
+ this[i] = value;
142
+ return this.check();
143
+ }
144
+
145
+ addVectors(a, b) {
146
+ return this.copy(a).add(b);
147
+ }
148
+
149
+ subVectors(a, b) {
150
+ return this.copy(a).subtract(b);
151
+ }
152
+
153
+ multiplyVectors(a, b) {
154
+ return this.copy(a).multiply(b);
155
+ }
156
+
157
+ addScaledVector(a, b) {
158
+ return this.add(new this.constructor(a).multiplyScalar(b));
159
+ }
160
+
161
+ }
220
162
 
221
163
  exports.default = Vector;
222
164
  //# sourceMappingURL=vector.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/classes/base/vector.js"],"names":["Vector","vector","value","Math","sqrt","lengthSquared","len","length","i","ELEMENTS","mathArray","distanceSquared","dist","product","magnitude","check","vectors","distance","a","b","copy","add","subtract","multiply","constructor","multiplyScalar","MathArray"],"mappings":"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","sourcesContent":["import MathArray from './math-array';\nimport {checkNumber} from '../../lib/validators';\nimport assert from '../../lib/assert';\n\nexport default class Vector extends MathArray {\n get ELEMENTS() {\n assert(false);\n return 0;\n }\n\n // VIRTUAL METHODS\n copy(vector) {\n assert(false);\n return this;\n }\n\n // ACCESSORS\n\n get x() {\n return this[0];\n }\n set x(value) {\n this[0] = checkNumber(value);\n }\n\n get y() {\n return this[1];\n }\n set y(value) {\n this[1] = checkNumber(value);\n }\n\n // NOTE: `length` is a reserved word for Arrays, so we can't use `v.length()`\n // Offer `len` and `magnitude`\n len() {\n return Math.sqrt(this.lengthSquared());\n }\n\n magnitude() {\n return this.len();\n }\n\n lengthSquared() {\n let length = 0;\n for (let i = 0; i < this.ELEMENTS; ++i) {\n length += this[i] * this[i];\n }\n return length;\n }\n\n magnitudeSquared() {\n return this.lengthSquared();\n }\n\n distance(mathArray) {\n return Math.sqrt(this.distanceSquared(mathArray));\n }\n\n distanceSquared(mathArray) {\n let length = 0;\n for (let i = 0; i < this.ELEMENTS; ++i) {\n const dist = this[i] - mathArray[i];\n length += dist * dist;\n }\n return checkNumber(length);\n }\n\n dot(mathArray) {\n let product = 0;\n for (let i = 0; i < this.ELEMENTS; ++i) {\n product += this[i] * mathArray[i];\n }\n return checkNumber(product);\n }\n\n // MODIFIERS\n\n normalize() {\n const length = this.magnitude();\n if (length !== 0) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] /= length;\n }\n }\n return this.check();\n }\n\n // negate() {\n // for (let i = 0; i < this.ELEMENTS; ++i) {\n // this[i] = -this[i];\n // }\n // return this.check();\n // }\n\n // inverse() {\n // for (let i = 0; i < this.ELEMENTS; ++i) {\n // this[i] = 1 / this[i];\n // }\n // return this.check();\n // }\n\n multiply(...vectors) {\n for (const vector of vectors) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] *= vector[i];\n }\n }\n return this.check();\n }\n\n divide(...vectors) {\n for (const vector of vectors) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] /= vector[i];\n }\n }\n return this.check();\n }\n\n // THREE.js compatibility\n lengthSq() {\n return this.lengthSquared();\n }\n\n distanceTo(vector) {\n return this.distance(vector);\n }\n\n distanceToSquared(vector) {\n return this.distanceSquared(vector);\n }\n\n getComponent(i) {\n assert(i >= 0 && i < this.ELEMENTS, 'index is out of range');\n return checkNumber(this[i]);\n }\n\n setComponent(i, value) {\n assert(i >= 0 && i < this.ELEMENTS, 'index is out of range');\n this[i] = value;\n return this.check();\n }\n\n addVectors(a, b) {\n return this.copy(a).add(b);\n }\n\n subVectors(a, b) {\n return this.copy(a).subtract(b);\n }\n\n multiplyVectors(a, b) {\n return this.copy(a).multiply(b);\n }\n\n addScaledVector(a, b) {\n // @ts-ignore error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.\n return this.add(new this.constructor(a).multiplyScalar(b));\n }\n}\n"],"file":"vector.js"}
1
+ {"version":3,"sources":["../../../../src/classes/base/vector.js"],"names":["Vector","MathArray","ELEMENTS","copy","vector","x","value","y","len","Math","sqrt","lengthSquared","magnitude","length","i","magnitudeSquared","distance","mathArray","distanceSquared","dist","dot","product","normalize","check","multiply","vectors","divide","lengthSq","distanceTo","distanceToSquared","getComponent","setComponent","addVectors","a","b","add","subVectors","subtract","multiplyVectors","addScaledVector","constructor","multiplyScalar"],"mappings":"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","sourcesContent":["import MathArray from './math-array';\nimport {checkNumber} from '../../lib/validators';\nimport assert from '../../lib/assert';\n\nexport default class Vector extends MathArray {\n get ELEMENTS() {\n assert(false);\n return 0;\n }\n\n // VIRTUAL METHODS\n copy(vector) {\n assert(false);\n return this;\n }\n\n // ACCESSORS\n\n get x() {\n return this[0];\n }\n set x(value) {\n this[0] = checkNumber(value);\n }\n\n get y() {\n return this[1];\n }\n set y(value) {\n this[1] = checkNumber(value);\n }\n\n // NOTE: `length` is a reserved word for Arrays, so we can't use `v.length()`\n // Offer `len` and `magnitude`\n len() {\n return Math.sqrt(this.lengthSquared());\n }\n\n magnitude() {\n return this.len();\n }\n\n lengthSquared() {\n let length = 0;\n for (let i = 0; i < this.ELEMENTS; ++i) {\n length += this[i] * this[i];\n }\n return length;\n }\n\n magnitudeSquared() {\n return this.lengthSquared();\n }\n\n distance(mathArray) {\n return Math.sqrt(this.distanceSquared(mathArray));\n }\n\n distanceSquared(mathArray) {\n let length = 0;\n for (let i = 0; i < this.ELEMENTS; ++i) {\n const dist = this[i] - mathArray[i];\n length += dist * dist;\n }\n return checkNumber(length);\n }\n\n dot(mathArray) {\n let product = 0;\n for (let i = 0; i < this.ELEMENTS; ++i) {\n product += this[i] * mathArray[i];\n }\n return checkNumber(product);\n }\n\n // MODIFIERS\n\n normalize() {\n const length = this.magnitude();\n if (length !== 0) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] /= length;\n }\n }\n return this.check();\n }\n\n // negate() {\n // for (let i = 0; i < this.ELEMENTS; ++i) {\n // this[i] = -this[i];\n // }\n // return this.check();\n // }\n\n // inverse() {\n // for (let i = 0; i < this.ELEMENTS; ++i) {\n // this[i] = 1 / this[i];\n // }\n // return this.check();\n // }\n\n multiply(...vectors) {\n for (const vector of vectors) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] *= vector[i];\n }\n }\n return this.check();\n }\n\n divide(...vectors) {\n for (const vector of vectors) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] /= vector[i];\n }\n }\n return this.check();\n }\n\n // THREE.js compatibility\n lengthSq() {\n return this.lengthSquared();\n }\n\n distanceTo(vector) {\n return this.distance(vector);\n }\n\n distanceToSquared(vector) {\n return this.distanceSquared(vector);\n }\n\n getComponent(i) {\n assert(i >= 0 && i < this.ELEMENTS, 'index is out of range');\n return checkNumber(this[i]);\n }\n\n setComponent(i, value) {\n assert(i >= 0 && i < this.ELEMENTS, 'index is out of range');\n this[i] = value;\n return this.check();\n }\n\n addVectors(a, b) {\n return this.copy(a).add(b);\n }\n\n subVectors(a, b) {\n return this.copy(a).subtract(b);\n }\n\n multiplyVectors(a, b) {\n return this.copy(a).multiply(b);\n }\n\n addScaledVector(a, b) {\n // @ts-ignore error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.\n return this.add(new this.constructor(a).multiplyScalar(b));\n }\n}\n"],"file":"vector.js"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _mathArray = _interopRequireDefault(require("./base/math-array"));
13
+
14
+ class Euler extends _mathArray.default {
15
+ constructor(...args) {
16
+ super(...args);
17
+ (0, _defineProperty2.default)(this, "ELEMENTS", void 0);
18
+ (0, _defineProperty2.default)(this, "x", void 0);
19
+ (0, _defineProperty2.default)(this, "y", void 0);
20
+ (0, _defineProperty2.default)(this, "z", void 0);
21
+ (0, _defineProperty2.default)(this, "alpha", void 0);
22
+ (0, _defineProperty2.default)(this, "beta", void 0);
23
+ (0, _defineProperty2.default)(this, "gamma", void 0);
24
+ (0, _defineProperty2.default)(this, "phi", void 0);
25
+ (0, _defineProperty2.default)(this, "theta", void 0);
26
+ (0, _defineProperty2.default)(this, "psi", void 0);
27
+ (0, _defineProperty2.default)(this, "roll", void 0);
28
+ (0, _defineProperty2.default)(this, "pitch", void 0);
29
+ (0, _defineProperty2.default)(this, "yaw", void 0);
30
+ (0, _defineProperty2.default)(this, "order", void 0);
31
+ }
32
+
33
+ }
34
+
35
+ exports.default = Euler;
36
+ (0, _defineProperty2.default)(Euler, "ZYX", void 0);
37
+ (0, _defineProperty2.default)(Euler, "YXZ", void 0);
38
+ (0, _defineProperty2.default)(Euler, "XZY", void 0);
39
+ (0, _defineProperty2.default)(Euler, "ZXY", void 0);
40
+ (0, _defineProperty2.default)(Euler, "YZX", void 0);
41
+ (0, _defineProperty2.default)(Euler, "XYZ", void 0);
42
+ (0, _defineProperty2.default)(Euler, "RollPitchYaw", void 0);
43
+ (0, _defineProperty2.default)(Euler, "DefaultOrder", void 0);
44
+ (0, _defineProperty2.default)(Euler, "RotationOrders", void 0);
45
+ //# sourceMappingURL=euler.d.js.map