@math.gl/core 3.6.0-alpha.1 → 3.6.0-alpha.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 (188) hide show
  1. package/dist/classes/base/math-array.d.ts +61 -31
  2. package/dist/classes/base/math-array.d.ts.map +1 -1
  3. package/dist/classes/base/math-array.js +67 -65
  4. package/dist/classes/base/matrix.d.ts +12 -10
  5. package/dist/classes/base/matrix.d.ts.map +1 -1
  6. package/dist/classes/base/matrix.js +2 -10
  7. package/dist/classes/base/vector.d.ts +37 -25
  8. package/dist/classes/base/vector.d.ts.map +1 -1
  9. package/dist/classes/base/vector.js +17 -24
  10. package/dist/classes/euler.d.ts +59 -55
  11. package/dist/classes/euler.d.ts.map +1 -1
  12. package/dist/classes/euler.js +57 -77
  13. package/dist/classes/matrix3.d.ts +58 -41
  14. package/dist/classes/matrix3.d.ts.map +1 -1
  15. package/dist/classes/matrix3.js +68 -59
  16. package/dist/classes/matrix4.d.ts +214 -90
  17. package/dist/classes/matrix4.d.ts.map +1 -1
  18. package/dist/classes/matrix4.js +252 -171
  19. package/dist/classes/pose.d.ts +29 -26
  20. package/dist/classes/pose.d.ts.map +1 -1
  21. package/dist/classes/pose.js +6 -23
  22. package/dist/classes/quaternion.d.ts +61 -40
  23. package/dist/classes/quaternion.d.ts.map +1 -1
  24. package/dist/classes/quaternion.js +49 -53
  25. package/dist/classes/spherical-coordinates.d.ts +45 -25
  26. package/dist/classes/spherical-coordinates.d.ts.map +1 -1
  27. package/dist/classes/spherical-coordinates.js +30 -24
  28. package/dist/classes/vector2.d.ts +51 -15
  29. package/dist/classes/vector2.d.ts.map +1 -1
  30. package/dist/classes/vector2.js +29 -23
  31. package/dist/classes/vector3.d.ts +47 -32
  32. package/dist/classes/vector3.d.ts.map +1 -1
  33. package/dist/classes/vector3.js +16 -30
  34. package/dist/classes/vector4.d.ts +37 -19
  35. package/dist/classes/vector4.d.ts.map +1 -1
  36. package/dist/classes/vector4.js +12 -24
  37. package/dist/es5/classes/base/math-array.js +248 -179
  38. package/dist/es5/classes/base/math-array.js.map +1 -1
  39. package/dist/es5/classes/base/matrix.js +74 -54
  40. package/dist/es5/classes/base/matrix.js.map +1 -1
  41. package/dist/es5/classes/base/vector.js +167 -121
  42. package/dist/es5/classes/base/vector.js.map +1 -1
  43. package/dist/es5/classes/euler.js +575 -480
  44. package/dist/es5/classes/euler.js.map +1 -1
  45. package/dist/es5/classes/matrix3.js +234 -158
  46. package/dist/es5/classes/matrix3.js.map +1 -1
  47. package/dist/es5/classes/matrix4.js +510 -417
  48. package/dist/es5/classes/matrix4.js.map +1 -1
  49. package/dist/es5/classes/pose.js +126 -101
  50. package/dist/es5/classes/pose.js.map +1 -1
  51. package/dist/es5/classes/quaternion.js +285 -213
  52. package/dist/es5/classes/quaternion.js.map +1 -1
  53. package/dist/es5/classes/spherical-coordinates.js +170 -125
  54. package/dist/es5/classes/spherical-coordinates.js.map +1 -1
  55. package/dist/es5/classes/vector2.js +118 -76
  56. package/dist/es5/classes/vector2.js.map +1 -1
  57. package/dist/es5/classes/vector3.js +171 -119
  58. package/dist/es5/classes/vector3.js.map +1 -1
  59. package/dist/es5/classes/vector4.js +141 -94
  60. package/dist/es5/classes/vector4.js.map +1 -1
  61. package/dist/es5/index.js +34 -34
  62. package/dist/es5/lib/common.js +56 -30
  63. package/dist/es5/lib/common.js.map +1 -1
  64. package/dist/es5/lib/gl-matrix-extras.js +14 -14
  65. package/dist/es5/lib/gl-matrix-extras.js.map +1 -1
  66. package/dist/es5/lib/gl-matrix.d.js +2 -0
  67. package/dist/es5/lib/gl-matrix.d.js.map +1 -0
  68. package/dist/es5/lib/validators.js +5 -3
  69. package/dist/es5/lib/validators.js.map +1 -1
  70. package/dist/esm/classes/base/math-array.js +45 -47
  71. package/dist/esm/classes/base/math-array.js.map +1 -1
  72. package/dist/esm/classes/base/matrix.js +0 -11
  73. package/dist/esm/classes/base/matrix.js.map +1 -1
  74. package/dist/esm/classes/base/vector.js +0 -10
  75. package/dist/esm/classes/base/vector.js.map +1 -1
  76. package/dist/esm/classes/euler.js +61 -48
  77. package/dist/esm/classes/euler.js.map +1 -1
  78. package/dist/esm/classes/matrix3.js +55 -33
  79. package/dist/esm/classes/matrix3.js.map +1 -1
  80. package/dist/esm/classes/matrix4.js +156 -136
  81. package/dist/esm/classes/matrix4.js.map +1 -1
  82. package/dist/esm/classes/pose.js +8 -4
  83. package/dist/esm/classes/pose.js.map +1 -1
  84. package/dist/esm/classes/quaternion.js +37 -27
  85. package/dist/esm/classes/quaternion.js.map +1 -1
  86. package/dist/esm/classes/spherical-coordinates.js +15 -5
  87. package/dist/esm/classes/spherical-coordinates.js.map +1 -1
  88. package/dist/esm/classes/vector2.js.map +1 -1
  89. package/dist/esm/classes/vector3.js +7 -2
  90. package/dist/esm/classes/vector3.js.map +1 -1
  91. package/dist/esm/classes/vector4.js +7 -2
  92. package/dist/esm/classes/vector4.js.map +1 -1
  93. package/dist/esm/lib/common.js +8 -8
  94. package/dist/esm/lib/common.js.map +1 -1
  95. package/dist/esm/lib/gl-matrix-extras.js.map +1 -1
  96. package/dist/esm/lib/gl-matrix.d.js +2 -0
  97. package/dist/esm/lib/gl-matrix.d.js.map +1 -0
  98. package/dist/esm/lib/validators.js.map +1 -1
  99. package/dist/lib/common.d.ts +14 -11
  100. package/dist/lib/common.d.ts.map +1 -1
  101. package/dist/lib/common.js +10 -23
  102. package/dist/lib/gl-matrix-extras.d.ts +6 -5
  103. package/dist/lib/gl-matrix-extras.d.ts.map +1 -1
  104. package/dist/lib/gl-matrix-extras.js +0 -1
  105. package/dist/lib/validators.d.ts +5 -4
  106. package/dist/lib/validators.d.ts.map +1 -1
  107. package/dist/lib/validators.js +0 -19
  108. package/package.json +4 -4
  109. package/src/classes/base/math-array.ts +265 -0
  110. package/src/classes/base/{matrix.js → matrix.ts} +15 -19
  111. package/src/classes/base/{vector.js → vector.ts} +47 -54
  112. package/src/classes/{euler.js → euler.ts} +121 -221
  113. package/src/classes/matrix3.ts +253 -0
  114. package/src/classes/matrix4.ts +668 -0
  115. package/src/classes/{pose.js → pose.ts} +52 -49
  116. package/src/classes/{quaternion.js → quaternion.ts} +107 -95
  117. package/src/classes/{spherical-coordinates.js → spherical-coordinates.ts} +84 -54
  118. package/src/classes/vector2.ts +127 -0
  119. package/src/classes/{vector3.js → vector3.ts} +43 -55
  120. package/src/classes/{vector4.js → vector4.ts} +44 -48
  121. package/src/lib/common.ts +58 -37
  122. package/src/lib/gl-matrix-extras.ts +26 -5
  123. package/src/lib/gl-matrix.d.ts +266 -0
  124. package/src/lib/validators.ts +10 -6
  125. package/dist/es5/classes/base/math-array.d.js +0 -46
  126. package/dist/es5/classes/base/math-array.d.js.map +0 -1
  127. package/dist/es5/classes/base/matrix.d.js +0 -15
  128. package/dist/es5/classes/base/matrix.d.js.map +0 -1
  129. package/dist/es5/classes/base/vector.d.js +0 -24
  130. package/dist/es5/classes/base/vector.d.js.map +0 -1
  131. package/dist/es5/classes/euler.d.js +0 -45
  132. package/dist/es5/classes/euler.d.js.map +0 -1
  133. package/dist/es5/classes/matrix3.d.js +0 -25
  134. package/dist/es5/classes/matrix3.d.js.map +0 -1
  135. package/dist/es5/classes/matrix4.d.js +0 -25
  136. package/dist/es5/classes/matrix4.d.js.map +0 -1
  137. package/dist/es5/classes/pose.d.js +0 -25
  138. package/dist/es5/classes/pose.d.js.map +0 -1
  139. package/dist/es5/classes/quaternion.d.js +0 -27
  140. package/dist/es5/classes/quaternion.d.js.map +0 -1
  141. package/dist/es5/classes/spherical-coordinates.d.js +0 -27
  142. package/dist/es5/classes/spherical-coordinates.d.js.map +0 -1
  143. package/dist/es5/classes/vector2.d.js +0 -18
  144. package/dist/es5/classes/vector2.d.js.map +0 -1
  145. package/dist/es5/classes/vector3.d.js +0 -24
  146. package/dist/es5/classes/vector3.d.js.map +0 -1
  147. package/dist/es5/classes/vector4.d.js +0 -25
  148. package/dist/es5/classes/vector4.d.js.map +0 -1
  149. package/dist/esm/classes/base/math-array.d.js +0 -36
  150. package/dist/esm/classes/base/math-array.d.js.map +0 -1
  151. package/dist/esm/classes/base/matrix.d.js +0 -3
  152. package/dist/esm/classes/base/matrix.d.js.map +0 -1
  153. package/dist/esm/classes/base/vector.d.js +0 -13
  154. package/dist/esm/classes/base/vector.d.js.map +0 -1
  155. package/dist/esm/classes/euler.d.js +0 -55
  156. package/dist/esm/classes/euler.d.js.map +0 -1
  157. package/dist/esm/classes/matrix3.d.js +0 -15
  158. package/dist/esm/classes/matrix3.d.js.map +0 -1
  159. package/dist/esm/classes/matrix4.d.js +0 -15
  160. package/dist/esm/classes/matrix4.d.js.map +0 -1
  161. package/dist/esm/classes/pose.d.js +0 -18
  162. package/dist/esm/classes/pose.d.js.map +0 -1
  163. package/dist/esm/classes/quaternion.d.js +0 -19
  164. package/dist/esm/classes/quaternion.d.js.map +0 -1
  165. package/dist/esm/classes/spherical-coordinates.d.js +0 -22
  166. package/dist/esm/classes/spherical-coordinates.d.js.map +0 -1
  167. package/dist/esm/classes/vector2.d.js +0 -6
  168. package/dist/esm/classes/vector2.d.js.map +0 -1
  169. package/dist/esm/classes/vector3.d.js +0 -13
  170. package/dist/esm/classes/vector3.d.js.map +0 -1
  171. package/dist/esm/classes/vector4.d.js +0 -15
  172. package/dist/esm/classes/vector4.d.js.map +0 -1
  173. package/src/classes/base/math-array.d.ts +0 -55
  174. package/src/classes/base/math-array.js +0 -250
  175. package/src/classes/base/matrix.d.ts +0 -15
  176. package/src/classes/base/vector.d.ts +0 -45
  177. package/src/classes/euler.d.ts +0 -92
  178. package/src/classes/matrix3.d.ts +0 -91
  179. package/src/classes/matrix3.js +0 -225
  180. package/src/classes/matrix4.d.ts +0 -161
  181. package/src/classes/matrix4.js +0 -530
  182. package/src/classes/pose.d.ts +0 -92
  183. package/src/classes/quaternion.d.ts +0 -107
  184. package/src/classes/spherical-coordinates.d.ts +0 -87
  185. package/src/classes/vector2.d.ts +0 -65
  186. package/src/classes/vector2.js +0 -122
  187. package/src/classes/vector3.d.ts +0 -65
  188. package/src/classes/vector4.d.ts +0 -34
@@ -7,9 +7,21 @@ 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
+
10
20
  var _common = require("../../lib/common");
11
21
 
12
- var _assert = _interopRequireDefault(require("../../lib/assert"));
22
+ 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); }; }
23
+
24
+ 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; } }
13
25
 
14
26
  function _extendableBuiltin(cls) {
15
27
  function ExtendableBuiltin() {
@@ -36,244 +48,301 @@ function _extendableBuiltin(cls) {
36
48
  return ExtendableBuiltin;
37
49
  }
38
50
 
39
- class MathArray extends _extendableBuiltin(Array) {
40
- get ELEMENTS() {
41
- (0, _assert.default)(false);
42
- return 0;
43
- }
51
+ var MathArray = function (_extendableBuiltin2) {
52
+ (0, _inherits2.default)(MathArray, _extendableBuiltin2);
44
53
 
45
- clone() {
46
- return new this.constructor().copy(this);
47
- }
54
+ var _super = _createSuper(MathArray);
48
55
 
49
- from(arrayOrObject) {
50
- return Array.isArray(arrayOrObject) ? this.copy(arrayOrObject) : this.fromObject(arrayOrObject);
56
+ function MathArray() {
57
+ (0, _classCallCheck2.default)(this, MathArray);
58
+ return _super.apply(this, arguments);
51
59
  }
52
60
 
53
- fromArray(array, offset = 0) {
54
- for (let i = 0; i < this.ELEMENTS; ++i) {
55
- this[i] = array[i + offset];
61
+ (0, _createClass2.default)(MathArray, [{
62
+ key: "clone",
63
+ value: function clone() {
64
+ return new this.constructor().copy(this);
56
65
  }
66
+ }, {
67
+ key: "fromArray",
68
+ value: function fromArray(array) {
69
+ var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
57
70
 
58
- return this.check();
59
- }
71
+ for (var i = 0; i < this.ELEMENTS; ++i) {
72
+ this[i] = array[i + offset];
73
+ }
60
74
 
61
- to(arrayOrObject) {
62
- if (arrayOrObject === this) {
63
- return this;
75
+ return this.check();
64
76
  }
77
+ }, {
78
+ key: "toArray",
79
+ value: function toArray() {
80
+ var targetArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
81
+ var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
82
+
83
+ for (var i = 0; i < this.ELEMENTS; ++i) {
84
+ targetArray[offset + i] = this[i];
85
+ }
65
86
 
66
- return (0, _common.isArray)(arrayOrObject) ? this.toArray(arrayOrObject) : this.toObject(arrayOrObject);
67
- }
68
-
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];
87
+ return targetArray;
76
88
  }
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);
89
+ }, {
90
+ key: "from",
91
+ value: function from(arrayOrObject) {
92
+ return Array.isArray(arrayOrObject) ? this.copy(arrayOrObject) : this.fromObject(arrayOrObject);
94
93
  }
94
+ }, {
95
+ key: "to",
96
+ value: function to(arrayOrObject) {
97
+ if (arrayOrObject === this) {
98
+ return this;
99
+ }
95
100
 
96
- return "".concat(opts.printTypes ? this.constructor.name : '', "[").concat(string, "]");
97
- }
98
-
99
- equals(array) {
100
- if (!array || this.length !== array.length) {
101
- return false;
101
+ return (0, _common.isArray)(arrayOrObject) ? this.toArray(arrayOrObject) : this.toObject(arrayOrObject);
102
102
  }
103
-
104
- for (let i = 0; i < this.ELEMENTS; ++i) {
105
- if (!(0, _common.equals)(this[i], array[i])) {
106
- return false;
107
- }
103
+ }, {
104
+ key: "toTarget",
105
+ value: function toTarget(target) {
106
+ return target ? this.to(target) : this;
108
107
  }
108
+ }, {
109
+ key: "toFloat32Array",
110
+ value: function toFloat32Array() {
111
+ return new Float32Array(this);
112
+ }
113
+ }, {
114
+ key: "toString",
115
+ value: function toString() {
116
+ return this.formatString(_common.config);
117
+ }
118
+ }, {
119
+ key: "formatString",
120
+ value: function formatString(opts) {
121
+ var string = '';
109
122
 
110
- return true;
111
- }
123
+ for (var i = 0; i < this.ELEMENTS; ++i) {
124
+ string += (i > 0 ? ', ' : '') + (0, _common.formatValue)(this[i], opts);
125
+ }
112
126
 
113
- exactEquals(array) {
114
- if (!array || this.length !== array.length) {
115
- return false;
127
+ return "".concat(opts.printTypes ? this.constructor.name : '', "[").concat(string, "]");
116
128
  }
117
-
118
- for (let i = 0; i < this.ELEMENTS; ++i) {
119
- if (this[i] !== array[i]) {
129
+ }, {
130
+ key: "equals",
131
+ value: function equals(array) {
132
+ if (!array || this.length !== array.length) {
120
133
  return false;
121
134
  }
122
- }
123
135
 
124
- return true;
125
- }
136
+ for (var i = 0; i < this.ELEMENTS; ++i) {
137
+ if (!(0, _common.equals)(this[i], array[i])) {
138
+ return false;
139
+ }
140
+ }
126
141
 
127
- negate() {
128
- for (let i = 0; i < this.ELEMENTS; ++i) {
129
- this[i] = -this[i];
142
+ return true;
130
143
  }
144
+ }, {
145
+ key: "exactEquals",
146
+ value: function exactEquals(array) {
147
+ if (!array || this.length !== array.length) {
148
+ return false;
149
+ }
131
150
 
132
- return this.check();
133
- }
151
+ for (var i = 0; i < this.ELEMENTS; ++i) {
152
+ if (this[i] !== array[i]) {
153
+ return false;
154
+ }
155
+ }
134
156
 
135
- lerp(a, b, t) {
136
- if (t === undefined) {
137
- t = b;
138
- b = a;
139
- a = this;
157
+ return true;
140
158
  }
159
+ }, {
160
+ key: "negate",
161
+ value: function negate() {
162
+ for (var i = 0; i < this.ELEMENTS; ++i) {
163
+ this[i] = -this[i];
164
+ }
141
165
 
142
- for (let i = 0; i < this.ELEMENTS; ++i) {
143
- const ai = a[i];
144
- this[i] = ai + t * (b[i] - ai);
166
+ return this.check();
145
167
  }
168
+ }, {
169
+ key: "lerp",
170
+ value: function lerp(a, b, t) {
171
+ if (t === undefined) {
172
+ return this.lerp(this, a, b);
173
+ }
146
174
 
147
- return this.check();
148
- }
175
+ for (var i = 0; i < this.ELEMENTS; ++i) {
176
+ var ai = a[i];
177
+ this[i] = ai + t * (b[i] - ai);
178
+ }
149
179
 
150
- min(vector) {
151
- for (let i = 0; i < this.ELEMENTS; ++i) {
152
- this[i] = Math.min(vector[i], this[i]);
180
+ return this.check();
153
181
  }
182
+ }, {
183
+ key: "min",
184
+ value: function min(vector) {
185
+ for (var i = 0; i < this.ELEMENTS; ++i) {
186
+ this[i] = Math.min(vector[i], this[i]);
187
+ }
154
188
 
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]);
189
+ return this.check();
161
190
  }
191
+ }, {
192
+ key: "max",
193
+ value: function max(vector) {
194
+ for (var i = 0; i < this.ELEMENTS; ++i) {
195
+ this[i] = Math.max(vector[i], this[i]);
196
+ }
162
197
 
163
- return this.check();
164
- }
198
+ return this.check();
199
+ }
200
+ }, {
201
+ key: "clamp",
202
+ value: function clamp(minVector, maxVector) {
203
+ for (var i = 0; i < this.ELEMENTS; ++i) {
204
+ this[i] = Math.min(Math.max(this[i], minVector[i]), maxVector[i]);
205
+ }
165
206
 
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]);
207
+ return this.check();
169
208
  }
209
+ }, {
210
+ key: "add",
211
+ value: function add() {
212
+ for (var _len = arguments.length, vectors = new Array(_len), _key = 0; _key < _len; _key++) {
213
+ vectors[_key] = arguments[_key];
214
+ }
170
215
 
171
- return this.check();
172
- }
216
+ for (var _i = 0, _vectors = vectors; _i < _vectors.length; _i++) {
217
+ var _vector = _vectors[_i];
173
218
 
174
- add(...vectors) {
175
- for (const vector of vectors) {
176
- for (let i = 0; i < this.ELEMENTS; ++i) {
177
- this[i] += vector[i];
219
+ for (var i = 0; i < this.ELEMENTS; ++i) {
220
+ this[i] += _vector[i];
221
+ }
178
222
  }
223
+
224
+ return this.check();
179
225
  }
226
+ }, {
227
+ key: "subtract",
228
+ value: function subtract() {
229
+ for (var _len2 = arguments.length, vectors = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
230
+ vectors[_key2] = arguments[_key2];
231
+ }
180
232
 
181
- return this.check();
182
- }
233
+ for (var _i2 = 0, _vectors2 = vectors; _i2 < _vectors2.length; _i2++) {
234
+ var _vector2 = _vectors2[_i2];
183
235
 
184
- subtract(...vectors) {
185
- for (const vector of vectors) {
186
- for (let i = 0; i < this.ELEMENTS; ++i) {
187
- this[i] -= vector[i];
236
+ for (var i = 0; i < this.ELEMENTS; ++i) {
237
+ this[i] -= _vector2[i];
238
+ }
188
239
  }
189
- }
190
-
191
- return this.check();
192
- }
193
240
 
194
- scale(scale) {
195
- if (Array.isArray(scale)) {
196
- return this.multiply(scale);
241
+ return this.check();
197
242
  }
243
+ }, {
244
+ key: "scale",
245
+ value: function scale(_scale) {
246
+ if (typeof _scale === 'number') {
247
+ for (var i = 0; i < this.ELEMENTS; ++i) {
248
+ this[i] *= _scale;
249
+ }
250
+ } else {
251
+ for (var _i3 = 0; _i3 < this.ELEMENTS && _i3 < _scale.length; ++_i3) {
252
+ this[_i3] *= _scale[_i3];
253
+ }
254
+ }
198
255
 
199
- for (let i = 0; i < this.ELEMENTS; ++i) {
200
- this[i] *= scale;
256
+ return this.check();
201
257
  }
258
+ }, {
259
+ key: "multiplyByScalar",
260
+ value: function multiplyByScalar(scalar) {
261
+ for (var i = 0; i < this.ELEMENTS; ++i) {
262
+ this[i] *= scalar;
263
+ }
202
264
 
203
- return this.check();
204
- }
205
-
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;
265
+ return this.check();
213
266
  }
267
+ }, {
268
+ key: "check",
269
+ value: function check() {
270
+ if (_common.config.debug && !this.validate()) {
271
+ throw new Error("math.gl: ".concat(this.constructor.name, " some fields set to invalid numbers'"));
272
+ }
214
273
 
215
- return this.check();
216
- }
217
-
218
- addScalar(a) {
219
- for (let i = 0; i < this.ELEMENTS; ++i) {
220
- this[i] += a;
274
+ return this;
221
275
  }
276
+ }, {
277
+ key: "validate",
278
+ value: function validate() {
279
+ var valid = this.length === this.ELEMENTS;
222
280
 
223
- return this.check();
224
- }
225
-
226
- subScalar(a) {
227
- return this.addScalar(-a);
228
- }
281
+ for (var i = 0; i < this.ELEMENTS; ++i) {
282
+ valid = valid && Number.isFinite(this[i]);
283
+ }
229
284
 
230
- multiplyScalar(scalar) {
231
- for (let i = 0; i < this.ELEMENTS; ++i) {
232
- this[i] *= scalar;
285
+ return valid;
233
286
  }
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);
287
+ }, {
288
+ key: "sub",
289
+ value: function sub(a) {
290
+ return this.subtract(a);
245
291
  }
292
+ }, {
293
+ key: "setScalar",
294
+ value: function setScalar(a) {
295
+ for (var i = 0; i < this.ELEMENTS; ++i) {
296
+ this[i] = a;
297
+ }
246
298
 
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'"));
299
+ return this.check();
261
300
  }
301
+ }, {
302
+ key: "addScalar",
303
+ value: function addScalar(a) {
304
+ for (var i = 0; i < this.ELEMENTS; ++i) {
305
+ this[i] += a;
306
+ }
262
307
 
263
- return this;
264
- }
265
-
266
- validate() {
267
- let valid = this.length === this.ELEMENTS;
268
-
269
- for (let i = 0; i < this.ELEMENTS; ++i) {
270
- valid = valid && Number.isFinite(this[i]);
308
+ return this.check();
309
+ }
310
+ }, {
311
+ key: "subScalar",
312
+ value: function subScalar(a) {
313
+ return this.addScalar(-a);
271
314
  }
315
+ }, {
316
+ key: "multiplyScalar",
317
+ value: function multiplyScalar(scalar) {
318
+ for (var i = 0; i < this.ELEMENTS; ++i) {
319
+ this[i] *= scalar;
320
+ }
272
321
 
273
- return valid;
274
- }
322
+ return this.check();
323
+ }
324
+ }, {
325
+ key: "divideScalar",
326
+ value: function divideScalar(a) {
327
+ return this.multiplyByScalar(1 / a);
328
+ }
329
+ }, {
330
+ key: "clampScalar",
331
+ value: function clampScalar(min, max) {
332
+ for (var i = 0; i < this.ELEMENTS; ++i) {
333
+ this[i] = Math.min(Math.max(this[i], min), max);
334
+ }
275
335
 
276
- }
336
+ return this.check();
337
+ }
338
+ }, {
339
+ key: "elements",
340
+ get: function get() {
341
+ return this;
342
+ }
343
+ }]);
344
+ return MathArray;
345
+ }(_extendableBuiltin(Array));
277
346
 
278
347
  exports.default = MathArray;
279
348
  //# sourceMappingURL=math-array.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"sources":["../../../../src/classes/base/math-array.ts"],"names":["MathArray","constructor","copy","array","offset","i","ELEMENTS","check","targetArray","arrayOrObject","Array","isArray","fromObject","toArray","toObject","target","to","Float32Array","formatString","config","opts","string","printTypes","name","length","a","b","t","undefined","lerp","ai","vector","Math","min","max","minVector","maxVector","vectors","scale","scalar","debug","validate","Error","valid","Number","isFinite","subtract","addScalar","multiplyByScalar"],"mappings":"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","sourcesContent":["// math.gl, MIT License\nimport {NumericArray} from '@math.gl/types';\nimport {ConfigurationOptions, config, formatValue, equals, isArray} from '../../lib/common';\n\n/** Base class for vectors and matrices */\nexport default abstract class MathArray extends Array<number> {\n /** Number of elements (values) in this array */\n abstract get ELEMENTS(): number;\n\n abstract copy(vector: Readonly<NumericArray>): this;\n\n abstract fromObject(object: object): this;\n\n // Common methods\n\n /**\n * Clone the current object\n * @returns a new copy of this object\n */\n clone(): this {\n // @ts-expect-error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.\n return new this.constructor().copy(this); // eslint-disable-line\n }\n\n fromArray(array: Readonly<NumericArray>, offset: number = 0): this {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = array[i + offset];\n }\n return this.check();\n }\n\n toArray<TypedArray>(targetArray: TypedArray, offset?: number): TypedArray;\n toArray(targetArray?: number[], offset?: number): NumericArray;\n\n toArray(targetArray: NumericArray = [], offset: number = 0): NumericArray {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n targetArray[offset + i] = this[i];\n }\n return targetArray;\n }\n\n from(arrayOrObject: Readonly<NumericArray> | object): this {\n return Array.isArray(arrayOrObject) ? this.copy(arrayOrObject) : this.fromObject(arrayOrObject);\n }\n\n to<T extends NumericArray | object>(arrayOrObject: T): T {\n // @ts-ignore\n if (arrayOrObject === this) {\n return this;\n }\n // @ts-expect-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: any): any {\n return target ? this.to(target) : this;\n }\n\n /** @deprecated */\n toFloat32Array(): Float32Array {\n return new Float32Array(this);\n }\n\n toString(): string {\n return this.formatString(config);\n }\n\n /** Formats string according to options */\n formatString(opts: ConfigurationOptions): string {\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: Readonly<NumericArray>): boolean {\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: Readonly<NumericArray>): boolean {\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 /** Negates all values in this object */\n negate(): this {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = -this[i];\n }\n return this.check();\n }\n\n /** Linearly interpolates between two values */\n lerp(a: Readonly<NumericArray>, t: number): this;\n lerp(a: Readonly<NumericArray>, b: Readonly<NumericArray>, t: number): this;\n\n lerp(a: Readonly<NumericArray>, b: Readonly<NumericArray> | number, t?: number): this {\n if (t === undefined) {\n return this.lerp(this, a, b as number);\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 /** Minimal */\n min(vector: Readonly<NumericArray>): this {\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 /** Maximal */\n max(vector: Readonly<NumericArray>): this {\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: Readonly<NumericArray>, maxVector: Readonly<NumericArray>): this {\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: Readonly<NumericArray>[]): this {\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: Readonly<NumericArray>[]): this {\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: number | Readonly<NumericArray>): this {\n if (typeof scale === 'number') {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] *= scale;\n }\n } else {\n for (let i = 0; i < this.ELEMENTS && i < scale.length; ++i) {\n this[i] *= scale[i];\n }\n }\n return this.check();\n }\n\n /**\n * Multiplies all elements by `scale`\n * Note: `Matrix4.multiplyByScalar` only scales its 3x3 \"minor\"\n */\n multiplyByScalar(scalar: number): this {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] *= scalar;\n }\n return this.check();\n }\n\n // Debug checks\n\n /** Throws an error if array length is incorrect or contains illegal values */\n check(): this {\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 /** Returns false if the array length is incorrect or contains illegal values */\n validate(): boolean {\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 // three.js compatibility\n\n /** @deprecated */\n sub(a: Readonly<NumericArray>): this {\n return this.subtract(a);\n }\n\n /** @deprecated */\n setScalar(a: number): this {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] = a;\n }\n return this.check();\n }\n\n /** @deprecated */\n addScalar(a: number): this {\n for (let i = 0; i < this.ELEMENTS; ++i) {\n this[i] += a;\n }\n return this.check();\n }\n\n /** @deprecated */\n subScalar(a: number): this {\n return this.addScalar(-a);\n }\n\n /** @deprecated */\n multiplyScalar(scalar: number): this {\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 /** @deprecated */\n divideScalar(a: number): this {\n return this.multiplyByScalar(1 / a);\n }\n\n /** @deprecated */\n clampScalar(min: number, max: number): this {\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 /** @deprecated */\n get elements(): NumericArray {\n return this;\n }\n}\n"],"file":"math-array.js"}