@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,24 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
10
  var _common = require("../../lib/common");
21
11
 
22
12
  var _assert = _interopRequireDefault(require("../../lib/assert"));
23
13
 
24
- 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); }; }
25
-
26
- 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; } }
27
-
28
14
  function _extendableBuiltin(cls) {
29
15
  function ExtendableBuiltin() {
30
16
  var instance = Reflect.construct(cls, Array.from(arguments));
@@ -50,303 +36,244 @@ function _extendableBuiltin(cls) {
50
36
  return ExtendableBuiltin;
51
37
  }
52
38
 
53
- var MathArray = function (_extendableBuiltin2) {
54
- (0, _inherits2.default)(MathArray, _extendableBuiltin2);
39
+ class MathArray extends _extendableBuiltin(Array) {
40
+ get ELEMENTS() {
41
+ (0, _assert.default)(false);
42
+ return 0;
43
+ }
55
44
 
56
- var _super = _createSuper(MathArray);
45
+ clone() {
46
+ return new this.constructor().copy(this);
47
+ }
57
48
 
58
- function MathArray() {
59
- (0, _classCallCheck2.default)(this, MathArray);
60
- return _super.apply(this, arguments);
49
+ from(arrayOrObject) {
50
+ return Array.isArray(arrayOrObject) ? this.copy(arrayOrObject) : this.fromObject(arrayOrObject);
61
51
  }
62
52
 
63
- (0, _createClass2.default)(MathArray, [{
64
- key: "ELEMENTS",
65
- get: function get() {
66
- (0, _assert.default)(false);
67
- return 0;
68
- }
69
- }, {
70
- key: "clone",
71
- value: function clone() {
72
- return new this.constructor().copy(this);
53
+ fromArray(array, offset = 0) {
54
+ for (let i = 0; i < this.ELEMENTS; ++i) {
55
+ this[i] = array[i + offset];
73
56
  }
74
- }, {
75
- key: "from",
76
- value: function from(arrayOrObject) {
77
- return Array.isArray(arrayOrObject) ? this.copy(arrayOrObject) : this.fromObject(arrayOrObject);
78
- }
79
- }, {
80
- key: "fromArray",
81
- value: function fromArray(array) {
82
- var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
83
57
 
84
- for (var i = 0; i < this.ELEMENTS; ++i) {
85
- this[i] = array[i + offset];
86
- }
58
+ return this.check();
59
+ }
87
60
 
88
- return this.check();
61
+ to(arrayOrObject) {
62
+ if (arrayOrObject === this) {
63
+ return this;
89
64
  }
90
- }, {
91
- key: "to",
92
- value: function to(arrayOrObject) {
93
- if (arrayOrObject === this) {
94
- return this;
95
- }
96
65
 
97
- return (0, _common.isArray)(arrayOrObject) ? this.toArray(arrayOrObject) : this.toObject(arrayOrObject);
98
- }
99
- }, {
100
- key: "toTarget",
101
- value: function toTarget(target) {
102
- return target ? this.to(target) : this;
103
- }
104
- }, {
105
- key: "toArray",
106
- value: function toArray() {
107
- var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
108
- var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
109
-
110
- for (var i = 0; i < this.ELEMENTS; ++i) {
111
- array[offset + i] = this[i];
112
- }
66
+ return (0, _common.isArray)(arrayOrObject) ? this.toArray(arrayOrObject) : this.toObject(arrayOrObject);
67
+ }
113
68
 
114
- return array;
115
- }
116
- }, {
117
- key: "toFloat32Array",
118
- value: function toFloat32Array() {
119
- return new Float32Array(this);
69
+ toTarget(target) {
70
+ return target ? this.to(target) : this;
71
+ }
72
+
73
+ toArray(array = [], offset = 0) {
74
+ for (let i = 0; i < this.ELEMENTS; ++i) {
75
+ array[offset + i] = this[i];
120
76
  }
121
- }, {
122
- key: "toString",
123
- value: function toString() {
124
- return this.formatString(_common.config);
77
+
78
+ return array;
79
+ }
80
+
81
+ toFloat32Array() {
82
+ return new Float32Array(this);
83
+ }
84
+
85
+ toString() {
86
+ return this.formatString(_common.config);
87
+ }
88
+
89
+ formatString(opts) {
90
+ let string = '';
91
+
92
+ for (let i = 0; i < this.ELEMENTS; ++i) {
93
+ string += (i > 0 ? ', ' : '') + (0, _common.formatValue)(this[i], opts);
125
94
  }
126
- }, {
127
- key: "formatString",
128
- value: function formatString(opts) {
129
- var string = '';
130
95
 
131
- for (var i = 0; i < this.ELEMENTS; ++i) {
132
- string += (i > 0 ? ', ' : '') + (0, _common.formatValue)(this[i], opts);
133
- }
96
+ return "".concat(opts.printTypes ? this.constructor.name : '', "[").concat(string, "]");
97
+ }
134
98
 
135
- return "".concat(opts.printTypes ? this.constructor.name : '', "[").concat(string, "]");
99
+ equals(array) {
100
+ if (!array || this.length !== array.length) {
101
+ return false;
136
102
  }
137
- }, {
138
- key: "equals",
139
- value: function equals(array) {
140
- if (!array || this.length !== array.length) {
103
+
104
+ for (let i = 0; i < this.ELEMENTS; ++i) {
105
+ if (!(0, _common.equals)(this[i], array[i])) {
141
106
  return false;
142
107
  }
108
+ }
143
109
 
144
- for (var i = 0; i < this.ELEMENTS; ++i) {
145
- if (!(0, _common.equals)(this[i], array[i])) {
146
- return false;
147
- }
148
- }
110
+ return true;
111
+ }
149
112
 
150
- return true;
113
+ exactEquals(array) {
114
+ if (!array || this.length !== array.length) {
115
+ return false;
151
116
  }
152
- }, {
153
- key: "exactEquals",
154
- value: function exactEquals(array) {
155
- if (!array || this.length !== array.length) {
117
+
118
+ for (let i = 0; i < this.ELEMENTS; ++i) {
119
+ if (this[i] !== array[i]) {
156
120
  return false;
157
121
  }
122
+ }
158
123
 
159
- for (var i = 0; i < this.ELEMENTS; ++i) {
160
- if (this[i] !== array[i]) {
161
- return false;
162
- }
163
- }
124
+ return true;
125
+ }
164
126
 
165
- return true;
127
+ negate() {
128
+ for (let i = 0; i < this.ELEMENTS; ++i) {
129
+ this[i] = -this[i];
166
130
  }
167
- }, {
168
- key: "negate",
169
- value: function negate() {
170
- for (var i = 0; i < this.ELEMENTS; ++i) {
171
- this[i] = -this[i];
172
- }
173
131
 
174
- return this.check();
175
- }
176
- }, {
177
- key: "lerp",
178
- value: function lerp(a, b, t) {
179
- if (t === undefined) {
180
- t = b;
181
- b = a;
182
- a = this;
183
- }
132
+ return this.check();
133
+ }
184
134
 
185
- for (var i = 0; i < this.ELEMENTS; ++i) {
186
- var ai = a[i];
187
- this[i] = ai + t * (b[i] - ai);
188
- }
135
+ lerp(a, b, t) {
136
+ if (t === undefined) {
137
+ t = b;
138
+ b = a;
139
+ a = this;
140
+ }
189
141
 
190
- return this.check();
142
+ for (let i = 0; i < this.ELEMENTS; ++i) {
143
+ const ai = a[i];
144
+ this[i] = ai + t * (b[i] - ai);
191
145
  }
192
- }, {
193
- key: "min",
194
- value: function min(vector) {
195
- for (var i = 0; i < this.ELEMENTS; ++i) {
196
- this[i] = Math.min(vector[i], this[i]);
197
- }
198
146
 
199
- return this.check();
147
+ return this.check();
148
+ }
149
+
150
+ min(vector) {
151
+ for (let i = 0; i < this.ELEMENTS; ++i) {
152
+ this[i] = Math.min(vector[i], this[i]);
200
153
  }
201
- }, {
202
- key: "max",
203
- value: function max(vector) {
204
- for (var i = 0; i < this.ELEMENTS; ++i) {
205
- this[i] = Math.max(vector[i], this[i]);
206
- }
207
154
 
208
- return this.check();
155
+ return this.check();
156
+ }
157
+
158
+ max(vector) {
159
+ for (let i = 0; i < this.ELEMENTS; ++i) {
160
+ this[i] = Math.max(vector[i], this[i]);
209
161
  }
210
- }, {
211
- key: "clamp",
212
- value: function clamp(minVector, maxVector) {
213
- for (var i = 0; i < this.ELEMENTS; ++i) {
214
- this[i] = Math.min(Math.max(this[i], minVector[i]), maxVector[i]);
215
- }
216
162
 
217
- return this.check();
163
+ return this.check();
164
+ }
165
+
166
+ clamp(minVector, maxVector) {
167
+ for (let i = 0; i < this.ELEMENTS; ++i) {
168
+ this[i] = Math.min(Math.max(this[i], minVector[i]), maxVector[i]);
218
169
  }
219
- }, {
220
- key: "add",
221
- value: function add() {
222
- for (var _len = arguments.length, vectors = new Array(_len), _key = 0; _key < _len; _key++) {
223
- vectors[_key] = arguments[_key];
224
- }
225
170
 
226
- for (var _i = 0, _vectors = vectors; _i < _vectors.length; _i++) {
227
- var vector = _vectors[_i];
171
+ return this.check();
172
+ }
228
173
 
229
- for (var i = 0; i < this.ELEMENTS; ++i) {
230
- this[i] += vector[i];
231
- }
174
+ add(...vectors) {
175
+ for (const vector of vectors) {
176
+ for (let i = 0; i < this.ELEMENTS; ++i) {
177
+ this[i] += vector[i];
232
178
  }
233
-
234
- return this.check();
235
179
  }
236
- }, {
237
- key: "subtract",
238
- value: function subtract() {
239
- for (var _len2 = arguments.length, vectors = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
240
- vectors[_key2] = arguments[_key2];
241
- }
242
180
 
243
- for (var _i2 = 0, _vectors2 = vectors; _i2 < _vectors2.length; _i2++) {
244
- var vector = _vectors2[_i2];
181
+ return this.check();
182
+ }
245
183
 
246
- for (var i = 0; i < this.ELEMENTS; ++i) {
247
- this[i] -= vector[i];
248
- }
184
+ subtract(...vectors) {
185
+ for (const vector of vectors) {
186
+ for (let i = 0; i < this.ELEMENTS; ++i) {
187
+ this[i] -= vector[i];
249
188
  }
250
-
251
- return this.check();
252
189
  }
253
- }, {
254
- key: "scale",
255
- value: function scale(_scale) {
256
- if (Array.isArray(_scale)) {
257
- return this.multiply(_scale);
258
- }
259
190
 
260
- for (var i = 0; i < this.ELEMENTS; ++i) {
261
- this[i] *= _scale;
262
- }
191
+ return this.check();
192
+ }
263
193
 
264
- return this.check();
265
- }
266
- }, {
267
- key: "sub",
268
- value: function sub(a) {
269
- return this.subtract(a);
194
+ scale(scale) {
195
+ if (Array.isArray(scale)) {
196
+ return this.multiply(scale);
270
197
  }
271
- }, {
272
- key: "setScalar",
273
- value: function setScalar(a) {
274
- for (var i = 0; i < this.ELEMENTS; ++i) {
275
- this[i] = a;
276
- }
277
198
 
278
- return this.check();
199
+ for (let i = 0; i < this.ELEMENTS; ++i) {
200
+ this[i] *= scale;
279
201
  }
280
- }, {
281
- key: "addScalar",
282
- value: function addScalar(a) {
283
- for (var i = 0; i < this.ELEMENTS; ++i) {
284
- this[i] += a;
285
- }
286
202
 
287
- return this.check();
288
- }
289
- }, {
290
- key: "subScalar",
291
- value: function subScalar(a) {
292
- return this.addScalar(-a);
293
- }
294
- }, {
295
- key: "multiplyScalar",
296
- value: function multiplyScalar(scalar) {
297
- for (var i = 0; i < this.ELEMENTS; ++i) {
298
- this[i] *= scalar;
299
- }
203
+ return this.check();
204
+ }
300
205
 
301
- return this.check();
302
- }
303
- }, {
304
- key: "divideScalar",
305
- value: function divideScalar(a) {
306
- return this.scale(1 / a);
206
+ sub(a) {
207
+ return this.subtract(a);
208
+ }
209
+
210
+ setScalar(a) {
211
+ for (let i = 0; i < this.ELEMENTS; ++i) {
212
+ this[i] = a;
307
213
  }
308
- }, {
309
- key: "clampScalar",
310
- value: function clampScalar(min, max) {
311
- for (var i = 0; i < this.ELEMENTS; ++i) {
312
- this[i] = Math.min(Math.max(this[i], min), max);
313
- }
314
214
 
315
- return this.check();
215
+ return this.check();
216
+ }
217
+
218
+ addScalar(a) {
219
+ for (let i = 0; i < this.ELEMENTS; ++i) {
220
+ this[i] += a;
316
221
  }
317
- }, {
318
- key: "multiplyByScalar",
319
- value: function multiplyByScalar(scalar) {
320
- return this.scale(scalar);
222
+
223
+ return this.check();
224
+ }
225
+
226
+ subScalar(a) {
227
+ return this.addScalar(-a);
228
+ }
229
+
230
+ multiplyScalar(scalar) {
231
+ for (let i = 0; i < this.ELEMENTS; ++i) {
232
+ this[i] *= scalar;
321
233
  }
322
- }, {
323
- key: "elements",
324
- get: function get() {
325
- return this;
234
+
235
+ return this.check();
236
+ }
237
+
238
+ divideScalar(a) {
239
+ return this.scale(1 / a);
240
+ }
241
+
242
+ clampScalar(min, max) {
243
+ for (let i = 0; i < this.ELEMENTS; ++i) {
244
+ this[i] = Math.min(Math.max(this[i], min), max);
326
245
  }
327
- }, {
328
- key: "check",
329
- value: function check() {
330
- if (_common.config.debug && !this.validate()) {
331
- throw new Error("math.gl: ".concat(this.constructor.name, " some fields set to invalid numbers'"));
332
- }
333
246
 
334
- return this;
247
+ return this.check();
248
+ }
249
+
250
+ multiplyByScalar(scalar) {
251
+ return this.scale(scalar);
252
+ }
253
+
254
+ get elements() {
255
+ return this;
256
+ }
257
+
258
+ check() {
259
+ if (_common.config.debug && !this.validate()) {
260
+ throw new Error("math.gl: ".concat(this.constructor.name, " some fields set to invalid numbers'"));
335
261
  }
336
- }, {
337
- key: "validate",
338
- value: function validate() {
339
- var valid = this.length === this.ELEMENTS;
340
262
 
341
- for (var i = 0; i < this.ELEMENTS; ++i) {
342
- valid = valid && Number.isFinite(this[i]);
343
- }
263
+ return this;
264
+ }
265
+
266
+ validate() {
267
+ let valid = this.length === this.ELEMENTS;
344
268
 
345
- return valid;
269
+ for (let i = 0; i < this.ELEMENTS; ++i) {
270
+ valid = valid && Number.isFinite(this[i]);
346
271
  }
347
- }]);
348
- return MathArray;
349
- }(_extendableBuiltin(Array));
272
+
273
+ return valid;
274
+ }
275
+
276
+ }
350
277
 
351
278
  exports.default = MathArray;
352
279
  //# sourceMappingURL=math-array.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/classes/base/math-array.js"],"names":["MathArray","constructor","copy","arrayOrObject","Array","isArray","fromObject","array","offset","i","ELEMENTS","check","toArray","toObject","target","to","Float32Array","formatString","config","opts","string","printTypes","name","length","a","b","t","undefined","ai","vector","Math","min","max","minVector","maxVector","vectors","scale","multiply","subtract","addScalar","scalar","debug","validate","Error","valid","Number","isFinite"],"mappings":"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","sourcesContent":["// Copyright (c) 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\nimport {config, formatValue, equals, isArray} from '../../lib/common';\nimport assert from '../../lib/assert';\n\nexport default class MathArray extends Array {\n // Defined by derived class\n get ELEMENTS() {\n assert(false);\n return 0;\n }\n\n clone() {\n // @ts-ignore error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.\n return new this.constructor().copy(this);\n }\n\n from(arrayOrObject) {\n // @ts-ignore error TS2339: Property 'copy' does not exist on type 'MathArray'.\n return Array.isArray(arrayOrObject) ? this.copy(arrayOrObject) : this.fromObject(arrayOrObject);\n }\n\n fromArray(array, offset = 0) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = array[i + offset];\n }\n return this.check();\n }\n\n to(arrayOrObject) {\n if (arrayOrObject === this) {\n return this;\n }\n // @ts-ignore error TS2339: Property 'toObject' does not exist on type 'MathArray'.\n return isArray(arrayOrObject) ? this.toArray(arrayOrObject) : this.toObject(arrayOrObject);\n }\n\n toTarget(target) {\n return target ? this.to(target) : this;\n }\n\n toArray(array = [], offset = 0) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n array[offset + i] = this[i];\n }\n return array;\n }\n\n toFloat32Array() {\n return new Float32Array(this);\n }\n\n toString() {\n return this.formatString(config);\n }\n\n formatString(opts) {\n let string = '';\n for (let i = 0; i < this.ELEMENTS; ++i) {\n string += (i > 0 ? ', ' : '') + formatValue(this[i], opts);\n }\n return `${opts.printTypes ? this.constructor.name : ''}[${string}]`;\n }\n\n equals(array) {\n if (!array || this.length !== array.length) {\n return false;\n }\n for (let i = 0; i < this.ELEMENTS; ++i) {\n if (!equals(this[i], array[i])) {\n return false;\n }\n }\n return true;\n }\n\n exactEquals(array) {\n if (!array || this.length !== array.length) {\n return false;\n }\n for (let i = 0; i < this.ELEMENTS; ++i) {\n if (this[i] !== array[i]) {\n return false;\n }\n }\n return true;\n }\n\n // Modifiers\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 lerp(a, b, t) {\n if (t === undefined) {\n t = b;\n b = a;\n a = this; // eslint-disable-line\n }\n for (let i = 0; i < this.ELEMENTS; ++i) {\n const ai = a[i];\n this[i] = ai + t * (b[i] - ai);\n }\n return this.check();\n }\n\n min(vector) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = Math.min(vector[i], this[i]);\n }\n return this.check();\n }\n\n max(vector) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = Math.max(vector[i], this[i]);\n }\n return this.check();\n }\n\n clamp(minVector, maxVector) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = Math.min(Math.max(this[i], minVector[i]), maxVector[i]);\n }\n return this.check();\n }\n\n add(...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 subtract(...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 scale(scale) {\n if (Array.isArray(scale)) {\n // @ts-ignore error TS2339: Property 'multiply' does not exist on type 'MathArray'.\n return this.multiply(scale);\n }\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] *= scale;\n }\n return this.check();\n }\n\n // three.js compatibility\n\n sub(a) {\n return this.subtract(a);\n }\n\n setScalar(a) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = a;\n }\n return this.check();\n }\n\n addScalar(a) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] += a;\n }\n return this.check();\n }\n\n subScalar(a) {\n return this.addScalar(-a);\n }\n\n multiplyScalar(scalar) {\n // Multiplies all elements\n // `Matrix4.scale` only scales its 3x3 \"minor\"\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] *= scalar;\n }\n return this.check();\n }\n\n divideScalar(a) {\n return this.scale(1 / a);\n }\n\n clampScalar(min, max) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = Math.min(Math.max(this[i], min), max);\n }\n return this.check();\n }\n\n // Cesium compatibility\n\n multiplyByScalar(scalar) {\n return this.scale(scalar);\n }\n\n // THREE.js compatibility\n get elements() {\n return this;\n }\n\n // Debug checks\n\n check() {\n if (config.debug && !this.validate()) {\n throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);\n }\n return this;\n }\n\n validate() {\n let valid = this.length === this.ELEMENTS;\n for (let i = 0; i < this.ELEMENTS; ++i) {\n valid = valid && Number.isFinite(this[i]);\n }\n return valid;\n }\n}\n"],"file":"math-array.js"}
1
+ {"version":3,"sources":["../../../../src/classes/base/math-array.js"],"names":["MathArray","Array","ELEMENTS","clone","constructor","copy","from","arrayOrObject","isArray","fromObject","fromArray","array","offset","i","check","to","toArray","toObject","toTarget","target","toFloat32Array","Float32Array","toString","formatString","config","opts","string","printTypes","name","equals","length","exactEquals","negate","lerp","a","b","t","undefined","ai","min","vector","Math","max","clamp","minVector","maxVector","add","vectors","subtract","scale","multiply","sub","setScalar","addScalar","subScalar","multiplyScalar","scalar","divideScalar","clampScalar","multiplyByScalar","elements","debug","validate","Error","valid","Number","isFinite"],"mappings":"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","sourcesContent":["// Copyright (c) 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\nimport {config, formatValue, equals, isArray} from '../../lib/common';\nimport assert from '../../lib/assert';\n\nexport default class MathArray extends Array {\n // Defined by derived class\n get ELEMENTS() {\n assert(false);\n return 0;\n }\n\n clone() {\n // @ts-ignore error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.\n return new this.constructor().copy(this);\n }\n\n from(arrayOrObject) {\n // @ts-ignore error TS2339: Property 'copy' does not exist on type 'MathArray'.\n return Array.isArray(arrayOrObject) ? this.copy(arrayOrObject) : this.fromObject(arrayOrObject);\n }\n\n fromArray(array, offset = 0) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = array[i + offset];\n }\n return this.check();\n }\n\n to(arrayOrObject) {\n if (arrayOrObject === this) {\n return this;\n }\n // @ts-ignore error TS2339: Property 'toObject' does not exist on type 'MathArray'.\n return isArray(arrayOrObject) ? this.toArray(arrayOrObject) : this.toObject(arrayOrObject);\n }\n\n toTarget(target) {\n return target ? this.to(target) : this;\n }\n\n toArray(array = [], offset = 0) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n array[offset + i] = this[i];\n }\n return array;\n }\n\n toFloat32Array() {\n return new Float32Array(this);\n }\n\n toString() {\n return this.formatString(config);\n }\n\n formatString(opts) {\n let string = '';\n for (let i = 0; i < this.ELEMENTS; ++i) {\n string += (i > 0 ? ', ' : '') + formatValue(this[i], opts);\n }\n return `${opts.printTypes ? this.constructor.name : ''}[${string}]`;\n }\n\n equals(array) {\n if (!array || this.length !== array.length) {\n return false;\n }\n for (let i = 0; i < this.ELEMENTS; ++i) {\n if (!equals(this[i], array[i])) {\n return false;\n }\n }\n return true;\n }\n\n exactEquals(array) {\n if (!array || this.length !== array.length) {\n return false;\n }\n for (let i = 0; i < this.ELEMENTS; ++i) {\n if (this[i] !== array[i]) {\n return false;\n }\n }\n return true;\n }\n\n // Modifiers\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 lerp(a, b, t) {\n if (t === undefined) {\n t = b;\n b = a;\n a = this; // eslint-disable-line\n }\n for (let i = 0; i < this.ELEMENTS; ++i) {\n const ai = a[i];\n this[i] = ai + t * (b[i] - ai);\n }\n return this.check();\n }\n\n min(vector) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = Math.min(vector[i], this[i]);\n }\n return this.check();\n }\n\n max(vector) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = Math.max(vector[i], this[i]);\n }\n return this.check();\n }\n\n clamp(minVector, maxVector) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = Math.min(Math.max(this[i], minVector[i]), maxVector[i]);\n }\n return this.check();\n }\n\n add(...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 subtract(...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 scale(scale) {\n if (Array.isArray(scale)) {\n // @ts-ignore error TS2339: Property 'multiply' does not exist on type 'MathArray'.\n return this.multiply(scale);\n }\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] *= scale;\n }\n return this.check();\n }\n\n // three.js compatibility\n\n sub(a) {\n return this.subtract(a);\n }\n\n setScalar(a) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = a;\n }\n return this.check();\n }\n\n addScalar(a) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] += a;\n }\n return this.check();\n }\n\n subScalar(a) {\n return this.addScalar(-a);\n }\n\n multiplyScalar(scalar) {\n // Multiplies all elements\n // `Matrix4.scale` only scales its 3x3 \"minor\"\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] *= scalar;\n }\n return this.check();\n }\n\n divideScalar(a) {\n return this.scale(1 / a);\n }\n\n clampScalar(min, max) {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = Math.min(Math.max(this[i], min), max);\n }\n return this.check();\n }\n\n // Cesium compatibility\n\n multiplyByScalar(scalar) {\n return this.scale(scalar);\n }\n\n // THREE.js compatibility\n get elements() {\n return this;\n }\n\n // Debug checks\n\n check() {\n if (config.debug && !this.validate()) {\n throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);\n }\n return this;\n }\n\n validate() {\n let valid = this.length === this.ELEMENTS;\n for (let i = 0; i < this.ELEMENTS; ++i) {\n valid = valid && Number.isFinite(this[i]);\n }\n return valid;\n }\n}\n"],"file":"math-array.js"}
@@ -0,0 +1,15 @@
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 _mathArray = _interopRequireDefault(require("./math-array"));
11
+
12
+ class Matrix extends _mathArray.default {}
13
+
14
+ exports.default = Matrix;
15
+ //# sourceMappingURL=matrix.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/classes/base/matrix.d.ts"],"names":["Matrix","MathArray"],"mappings":";;;;;;;;;AAAA;;AAEe,MAAeA,MAAf,SAA0CC,kBAA1C,CAAgE","sourcesContent":["import MathArray from './math-array';\n\nexport default abstract class Matrix<MatrixType> extends MathArray<MatrixType> {\n abstract get RANK(): number;\n\n toString(): string;\n\n getElementIndex(row: number, col: number): number;\n // By default assumes row major indices\n getElement(row: number, col: number);\n // By default assumes row major indices\n setElement(row: number, col: number, value: number);\n getColumn(columnIndex: number, result?: number[]);\n setColumn(columnIndex: number, columnVector: number[]);\n}\n"],"file":"matrix.d.js"}