@math.gl/core 3.5.6 → 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.
- package/dist/classes/base/math-array.d.ts +66 -0
- package/dist/classes/base/math-array.d.ts.map +1 -0
- package/dist/classes/base/math-array.js +216 -0
- package/dist/classes/base/matrix.d.ts +14 -0
- package/dist/classes/base/matrix.d.ts.map +1 -0
- package/dist/classes/base/matrix.js +61 -0
- package/dist/classes/base/vector.d.ts +44 -0
- package/dist/classes/base/vector.d.ts.map +1 -0
- package/dist/classes/base/vector.js +126 -0
- package/dist/classes/euler.d.ts +77 -0
- package/dist/classes/euler.d.ts.map +1 -0
- package/dist/classes/euler.js +485 -0
- package/dist/classes/matrix3.d.ts +60 -0
- package/dist/classes/matrix3.d.ts.map +1 -0
- package/dist/classes/matrix3.js +201 -0
- package/dist/classes/matrix4.d.ts +226 -0
- package/dist/classes/matrix4.d.ts.map +1 -0
- package/dist/classes/matrix4.js +538 -0
- package/dist/classes/pose.d.ts +40 -0
- package/dist/classes/pose.d.ts.map +1 -0
- package/dist/classes/pose.js +109 -0
- package/dist/classes/quaternion.d.ts +63 -0
- package/dist/classes/quaternion.d.ts.map +1 -0
- package/dist/classes/quaternion.js +262 -0
- package/dist/classes/spherical-coordinates.d.ts +60 -0
- package/dist/classes/spherical-coordinates.d.ts.map +1 -0
- package/dist/classes/spherical-coordinates.js +148 -0
- package/dist/classes/vector2.d.ts +55 -0
- package/dist/classes/vector2.d.ts.map +1 -0
- package/dist/classes/vector2.js +111 -0
- package/dist/classes/vector3.d.ts +56 -0
- package/dist/classes/vector3.d.ts.map +1 -0
- package/dist/classes/vector3.js +133 -0
- package/dist/classes/vector4.d.ts +41 -0
- package/dist/classes/vector4.d.ts.map +1 -0
- package/dist/classes/vector4.js +114 -0
- package/dist/es5/classes/base/math-array.js +57 -61
- package/dist/es5/classes/base/math-array.js.map +1 -1
- package/dist/es5/classes/base/matrix.js +0 -14
- package/dist/es5/classes/base/matrix.js.map +1 -1
- package/dist/es5/classes/base/vector.js +0 -12
- package/dist/es5/classes/base/vector.js.map +1 -1
- package/dist/es5/classes/euler.js +63 -49
- package/dist/es5/classes/euler.js.map +1 -1
- package/dist/es5/classes/matrix3.js +60 -33
- package/dist/es5/classes/matrix3.js.map +1 -1
- package/dist/es5/classes/matrix4.js +167 -164
- package/dist/es5/classes/matrix4.js.map +1 -1
- package/dist/es5/classes/pose.js +7 -6
- package/dist/es5/classes/pose.js.map +1 -1
- package/dist/es5/classes/quaternion.js +44 -36
- package/dist/es5/classes/quaternion.js.map +1 -1
- package/dist/es5/classes/spherical-coordinates.js +12 -8
- package/dist/es5/classes/spherical-coordinates.js.map +1 -1
- package/dist/es5/classes/vector2.js.map +1 -1
- package/dist/es5/classes/vector3.js +7 -2
- package/dist/es5/classes/vector3.js.map +1 -1
- package/dist/es5/classes/vector4.js +7 -2
- package/dist/es5/classes/vector4.js.map +1 -1
- package/dist/es5/docs/README.md +0 -0
- package/dist/es5/index.js +71 -89
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/assert.js.map +1 -1
- package/dist/es5/lib/common.js +40 -43
- package/dist/es5/lib/common.js.map +1 -1
- package/dist/es5/lib/gl-matrix-extras.js.map +1 -1
- package/dist/es5/lib/gl-matrix.d.js +2 -0
- package/dist/es5/lib/gl-matrix.d.js.map +1 -0
- package/dist/es5/lib/math-utils.js.map +1 -1
- package/dist/es5/lib/validators.js.map +1 -1
- package/dist/esm/classes/base/math-array.js +45 -47
- package/dist/esm/classes/base/math-array.js.map +1 -1
- package/dist/esm/classes/base/matrix.js +0 -11
- package/dist/esm/classes/base/matrix.js.map +1 -1
- package/dist/esm/classes/base/vector.js +0 -10
- package/dist/esm/classes/base/vector.js.map +1 -1
- package/dist/esm/classes/euler.js +61 -48
- package/dist/esm/classes/euler.js.map +1 -1
- package/dist/esm/classes/matrix3.js +55 -33
- package/dist/esm/classes/matrix3.js.map +1 -1
- package/dist/esm/classes/matrix4.js +156 -136
- package/dist/esm/classes/matrix4.js.map +1 -1
- package/dist/esm/classes/pose.js +8 -4
- package/dist/esm/classes/pose.js.map +1 -1
- package/dist/esm/classes/quaternion.js +37 -27
- package/dist/esm/classes/quaternion.js.map +1 -1
- package/dist/esm/classes/spherical-coordinates.js +15 -5
- package/dist/esm/classes/spherical-coordinates.js.map +1 -1
- package/dist/esm/classes/vector2.js.map +1 -1
- package/dist/esm/classes/vector3.js +7 -2
- package/dist/esm/classes/vector3.js.map +1 -1
- package/dist/esm/classes/vector4.js +7 -2
- package/dist/esm/classes/vector4.js.map +1 -1
- package/dist/esm/docs/README.md +0 -0
- package/dist/esm/index.js +2 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/assert.js.map +1 -1
- package/dist/esm/lib/common.js +41 -44
- package/dist/esm/lib/common.js.map +1 -1
- package/dist/esm/lib/gl-matrix-extras.js.map +1 -1
- package/dist/esm/lib/gl-matrix.d.js +2 -0
- package/dist/esm/lib/gl-matrix.d.js.map +1 -0
- package/dist/esm/lib/math-utils.js.map +1 -1
- package/dist/esm/lib/validators.js.map +1 -1
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/lib/assert.d.ts +2 -0
- package/dist/lib/assert.d.ts.map +1 -0
- package/dist/lib/assert.js +5 -0
- package/dist/lib/common.d.ts +93 -0
- package/dist/lib/common.d.ts.map +1 -0
- package/dist/lib/common.js +210 -0
- package/dist/lib/gl-matrix-extras.d.ts +7 -0
- package/dist/lib/gl-matrix-extras.d.ts.map +1 -0
- package/dist/lib/gl-matrix-extras.js +49 -0
- package/dist/lib/math-utils.d.ts +28 -0
- package/dist/lib/math-utils.d.ts.map +1 -0
- package/dist/lib/math-utils.js +28 -0
- package/dist/lib/validators.d.ts +6 -0
- package/dist/lib/validators.d.ts.map +1 -0
- package/dist/lib/validators.js +33 -0
- package/package.json +5 -4
- package/src/classes/base/math-array.ts +265 -0
- package/src/classes/base/{matrix.js → matrix.ts} +15 -19
- package/src/classes/base/{vector.js → vector.ts} +47 -54
- package/src/classes/{euler.js → euler.ts} +121 -221
- package/src/classes/matrix3.ts +253 -0
- package/src/classes/matrix4.ts +668 -0
- package/src/classes/{pose.js → pose.ts} +52 -49
- package/src/classes/{quaternion.js → quaternion.ts} +107 -95
- package/src/classes/{spherical-coordinates.js → spherical-coordinates.ts} +84 -54
- package/src/classes/vector2.ts +127 -0
- package/src/classes/{vector3.js → vector3.ts} +43 -55
- package/src/classes/{vector4.js → vector4.ts} +44 -48
- package/src/docs/README.md +0 -0
- package/{dist/esm/index.d.ts → src/index.ts} +32 -34
- package/src/lib/{assert.js → assert.ts} +1 -1
- package/src/lib/common.ts +304 -0
- package/src/lib/{gl-matrix-extras.js → gl-matrix-extras.ts} +26 -5
- package/src/lib/gl-matrix.d.ts +266 -0
- package/src/lib/{math-utils.js → math-utils.ts} +0 -0
- package/src/lib/{validators.js → validators.ts} +10 -6
- package/dist/es5/addons/polygon.d.ts +0 -17
- package/dist/es5/classes/base/math-array.d.ts +0 -56
- package/dist/es5/classes/base/matrix.d.ts +0 -15
- package/dist/es5/classes/base/vector.d.ts +0 -45
- package/dist/es5/classes/euler.d.ts +0 -92
- package/dist/es5/classes/matrix3.d.ts +0 -91
- package/dist/es5/classes/matrix4.d.ts +0 -161
- package/dist/es5/classes/pose.d.ts +0 -92
- package/dist/es5/classes/quaternion.d.ts +0 -107
- package/dist/es5/classes/spherical-coordinates.d.ts +0 -87
- package/dist/es5/classes/vector2.d.ts +0 -65
- package/dist/es5/classes/vector3.d.ts +0 -65
- package/dist/es5/classes/vector4.d.ts +0 -34
- package/dist/es5/index.d.ts +0 -54
- package/dist/es5/lib/common.d.ts +0 -80
- package/dist/esm/addons/polygon.d.ts +0 -17
- package/dist/esm/classes/base/math-array.d.ts +0 -56
- package/dist/esm/classes/base/matrix.d.ts +0 -15
- package/dist/esm/classes/base/vector.d.ts +0 -45
- package/dist/esm/classes/euler.d.ts +0 -92
- package/dist/esm/classes/matrix3.d.ts +0 -91
- package/dist/esm/classes/matrix4.d.ts +0 -161
- package/dist/esm/classes/pose.d.ts +0 -92
- package/dist/esm/classes/quaternion.d.ts +0 -107
- package/dist/esm/classes/spherical-coordinates.d.ts +0 -87
- package/dist/esm/classes/vector2.d.ts +0 -65
- package/dist/esm/classes/vector3.d.ts +0 -65
- package/dist/esm/classes/vector4.d.ts +0 -34
- package/dist/esm/lib/common.d.ts +0 -80
- package/src/addons/polygon.d.ts +0 -17
- package/src/classes/base/math-array.d.ts +0 -56
- package/src/classes/base/math-array.js +0 -250
- package/src/classes/base/matrix.d.ts +0 -15
- package/src/classes/base/vector.d.ts +0 -45
- package/src/classes/euler.d.ts +0 -92
- package/src/classes/matrix3.d.ts +0 -91
- package/src/classes/matrix3.js +0 -225
- package/src/classes/matrix4.d.ts +0 -161
- package/src/classes/matrix4.js +0 -530
- package/src/classes/pose.d.ts +0 -92
- package/src/classes/quaternion.d.ts +0 -107
- package/src/classes/spherical-coordinates.d.ts +0 -87
- package/src/classes/vector2.d.ts +0 -65
- package/src/classes/vector2.js +0 -122
- package/src/classes/vector3.d.ts +0 -65
- package/src/classes/vector4.d.ts +0 -34
- package/src/index.d.ts +0 -54
- package/src/index.js +0 -86
- package/src/lib/common.d.ts +0 -80
- package/src/lib/common.js +0 -222
|
@@ -1,32 +1,26 @@
|
|
|
1
|
+
// Copyright (c) 2017 Uber Technologies, Inc.
|
|
2
|
+
// MIT License
|
|
3
|
+
import {NumericArray} from '@math.gl/types';
|
|
1
4
|
import MathArray from './math-array';
|
|
2
5
|
import {checkNumber} from '../../lib/validators';
|
|
3
6
|
import {config} from '../../lib/common';
|
|
4
|
-
import assert from '../../lib/assert';
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get
|
|
9
|
-
assert(false);
|
|
10
|
-
return 0;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
get RANK() {
|
|
14
|
-
assert(false);
|
|
15
|
-
return 0;
|
|
16
|
-
}
|
|
8
|
+
/** Base class for matrices */
|
|
9
|
+
export default abstract class Matrix extends MathArray {
|
|
10
|
+
abstract get RANK(): number;
|
|
17
11
|
|
|
18
12
|
// fromObject(object) {
|
|
19
13
|
// const array = object.elements;
|
|
20
14
|
// return this.fromRowMajor(array);
|
|
21
15
|
// }
|
|
22
|
-
|
|
23
16
|
// toObject(object) {
|
|
24
17
|
// const array = object.elements;
|
|
25
18
|
// this.toRowMajor(array);
|
|
26
19
|
// return object;
|
|
27
20
|
// }
|
|
28
21
|
|
|
29
|
-
|
|
22
|
+
// TODO better override formatString?
|
|
23
|
+
toString(): string {
|
|
30
24
|
let string = '[';
|
|
31
25
|
if (config.printRowMajor) {
|
|
32
26
|
string += 'row-major:';
|
|
@@ -45,22 +39,24 @@ export default class Matrix extends MathArray {
|
|
|
45
39
|
return string;
|
|
46
40
|
}
|
|
47
41
|
|
|
48
|
-
getElementIndex(row, col) {
|
|
42
|
+
getElementIndex(row: number, col: number): number {
|
|
49
43
|
return col * this.RANK + row;
|
|
50
44
|
}
|
|
51
45
|
|
|
52
46
|
// By default assumes row major indices
|
|
53
|
-
getElement(row, col) {
|
|
47
|
+
getElement(row: number, col: number): number {
|
|
54
48
|
return this[col * this.RANK + row];
|
|
55
49
|
}
|
|
56
50
|
|
|
57
51
|
// By default assumes row major indices
|
|
58
|
-
setElement(row, col, value) {
|
|
52
|
+
setElement(row: number, col: number, value: number): this {
|
|
59
53
|
this[col * this.RANK + row] = checkNumber(value);
|
|
60
54
|
return this;
|
|
61
55
|
}
|
|
56
|
+
getColumn<NumArrayT>(columnIndex: number, result: NumArrayT): NumArrayT;
|
|
57
|
+
getColumn(columnIndex: number): number[];
|
|
62
58
|
|
|
63
|
-
getColumn(columnIndex, result = new Array(this.RANK).fill(-0)) {
|
|
59
|
+
getColumn(columnIndex: number, result: number[] = new Array(this.RANK).fill(-0)): number[] {
|
|
64
60
|
const firstIndex = columnIndex * this.RANK;
|
|
65
61
|
for (let i = 0; i < this.RANK; ++i) {
|
|
66
62
|
result[i] = this[firstIndex + i];
|
|
@@ -68,7 +64,7 @@ export default class Matrix extends MathArray {
|
|
|
68
64
|
return result;
|
|
69
65
|
}
|
|
70
66
|
|
|
71
|
-
setColumn(columnIndex, columnVector) {
|
|
67
|
+
setColumn(columnIndex: number, columnVector: Readonly<NumericArray>): this {
|
|
72
68
|
const firstIndex = columnIndex * this.RANK;
|
|
73
69
|
for (let i = 0; i < this.RANK; ++i) {
|
|
74
70
|
this[firstIndex + i] = columnVector[i];
|
|
@@ -1,46 +1,51 @@
|
|
|
1
|
+
// Copyright (c) 2017 Uber Technologies, Inc.
|
|
2
|
+
// MIT License
|
|
3
|
+
import {NumericArray} from '@math.gl/types';
|
|
1
4
|
import MathArray from './math-array';
|
|
2
5
|
import {checkNumber} from '../../lib/validators';
|
|
3
6
|
import assert from '../../lib/assert';
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
assert(false);
|
|
8
|
-
return 0;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// VIRTUAL METHODS
|
|
12
|
-
copy(vector) {
|
|
13
|
-
assert(false);
|
|
14
|
-
return this;
|
|
15
|
-
}
|
|
16
|
-
|
|
8
|
+
/** Base class for vectors with at least 2 elements */
|
|
9
|
+
export default abstract class Vector extends MathArray {
|
|
17
10
|
// ACCESSORS
|
|
18
11
|
|
|
19
|
-
get x() {
|
|
12
|
+
get x(): number {
|
|
20
13
|
return this[0];
|
|
21
14
|
}
|
|
22
|
-
|
|
15
|
+
|
|
16
|
+
set x(value: number) {
|
|
23
17
|
this[0] = checkNumber(value);
|
|
24
18
|
}
|
|
25
19
|
|
|
26
|
-
get y() {
|
|
20
|
+
get y(): number {
|
|
27
21
|
return this[1];
|
|
28
22
|
}
|
|
29
|
-
|
|
23
|
+
|
|
24
|
+
set y(value: number) {
|
|
30
25
|
this[1] = checkNumber(value);
|
|
31
26
|
}
|
|
32
27
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Returns the length of the vector from the origin to the point described by this vector
|
|
30
|
+
*
|
|
31
|
+
* @note `length` is a reserved word for Arrays, so `v.length()` will return number of elements
|
|
32
|
+
* Instead we provide `len` and `magnitude`
|
|
33
|
+
*/
|
|
34
|
+
len(): number {
|
|
36
35
|
return Math.sqrt(this.lengthSquared());
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Returns the length of the vector from the origin to the point described by this vector
|
|
40
|
+
*/
|
|
41
|
+
magnitude(): number {
|
|
40
42
|
return this.len();
|
|
41
43
|
}
|
|
42
44
|
|
|
43
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Returns the squared length of the vector from the origin to the point described by this vector
|
|
47
|
+
*/
|
|
48
|
+
lengthSquared(): number {
|
|
44
49
|
let length = 0;
|
|
45
50
|
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
46
51
|
length += this[i] * this[i];
|
|
@@ -48,15 +53,18 @@ export default class Vector extends MathArray {
|
|
|
48
53
|
return length;
|
|
49
54
|
}
|
|
50
55
|
|
|
51
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Returns the squared length of the vector from the origin to the point described by this vector
|
|
58
|
+
*/
|
|
59
|
+
magnitudeSquared(): number {
|
|
52
60
|
return this.lengthSquared();
|
|
53
61
|
}
|
|
54
62
|
|
|
55
|
-
distance(mathArray) {
|
|
63
|
+
distance(mathArray: Readonly<NumericArray>): number {
|
|
56
64
|
return Math.sqrt(this.distanceSquared(mathArray));
|
|
57
65
|
}
|
|
58
66
|
|
|
59
|
-
distanceSquared(mathArray) {
|
|
67
|
+
distanceSquared(mathArray: Readonly<NumericArray>): number {
|
|
60
68
|
let length = 0;
|
|
61
69
|
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
62
70
|
const dist = this[i] - mathArray[i];
|
|
@@ -65,7 +73,7 @@ export default class Vector extends MathArray {
|
|
|
65
73
|
return checkNumber(length);
|
|
66
74
|
}
|
|
67
75
|
|
|
68
|
-
dot(mathArray) {
|
|
76
|
+
dot(mathArray: Readonly<NumericArray>): number {
|
|
69
77
|
let product = 0;
|
|
70
78
|
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
71
79
|
product += this[i] * mathArray[i];
|
|
@@ -75,7 +83,7 @@ export default class Vector extends MathArray {
|
|
|
75
83
|
|
|
76
84
|
// MODIFIERS
|
|
77
85
|
|
|
78
|
-
normalize() {
|
|
86
|
+
normalize(): this {
|
|
79
87
|
const length = this.magnitude();
|
|
80
88
|
if (length !== 0) {
|
|
81
89
|
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
@@ -85,21 +93,7 @@ export default class Vector extends MathArray {
|
|
|
85
93
|
return this.check();
|
|
86
94
|
}
|
|
87
95
|
|
|
88
|
-
|
|
89
|
-
// for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
90
|
-
// this[i] = -this[i];
|
|
91
|
-
// }
|
|
92
|
-
// return this.check();
|
|
93
|
-
// }
|
|
94
|
-
|
|
95
|
-
// inverse() {
|
|
96
|
-
// for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
97
|
-
// this[i] = 1 / this[i];
|
|
98
|
-
// }
|
|
99
|
-
// return this.check();
|
|
100
|
-
// }
|
|
101
|
-
|
|
102
|
-
multiply(...vectors) {
|
|
96
|
+
multiply(...vectors: Readonly<NumericArray>[]): this {
|
|
103
97
|
for (const vector of vectors) {
|
|
104
98
|
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
105
99
|
this[i] *= vector[i];
|
|
@@ -108,7 +102,7 @@ export default class Vector extends MathArray {
|
|
|
108
102
|
return this.check();
|
|
109
103
|
}
|
|
110
104
|
|
|
111
|
-
divide(...vectors) {
|
|
105
|
+
divide(...vectors: Readonly<NumericArray>[]): this {
|
|
112
106
|
for (const vector of vectors) {
|
|
113
107
|
for (let i = 0; i < this.ELEMENTS; ++i) {
|
|
114
108
|
this[i] /= vector[i];
|
|
@@ -118,43 +112,42 @@ export default class Vector extends MathArray {
|
|
|
118
112
|
}
|
|
119
113
|
|
|
120
114
|
// THREE.js compatibility
|
|
121
|
-
|
|
115
|
+
|
|
116
|
+
lengthSq(): number {
|
|
122
117
|
return this.lengthSquared();
|
|
123
118
|
}
|
|
124
|
-
|
|
125
|
-
distanceTo(vector) {
|
|
119
|
+
distanceTo(vector: Readonly<NumericArray>): number {
|
|
126
120
|
return this.distance(vector);
|
|
127
121
|
}
|
|
128
|
-
|
|
129
|
-
distanceToSquared(vector) {
|
|
122
|
+
distanceToSquared(vector: Readonly<NumericArray>): number {
|
|
130
123
|
return this.distanceSquared(vector);
|
|
131
124
|
}
|
|
132
125
|
|
|
133
|
-
getComponent(i) {
|
|
126
|
+
getComponent(i: number): number {
|
|
134
127
|
assert(i >= 0 && i < this.ELEMENTS, 'index is out of range');
|
|
135
128
|
return checkNumber(this[i]);
|
|
136
129
|
}
|
|
137
130
|
|
|
138
|
-
setComponent(i, value) {
|
|
131
|
+
setComponent(i: number, value: number): this {
|
|
139
132
|
assert(i >= 0 && i < this.ELEMENTS, 'index is out of range');
|
|
140
133
|
this[i] = value;
|
|
141
134
|
return this.check();
|
|
142
135
|
}
|
|
143
136
|
|
|
144
|
-
addVectors(a
|
|
137
|
+
addVectors(a: Readonly<NumericArray>, b: Readonly<NumericArray>): this {
|
|
145
138
|
return this.copy(a).add(b);
|
|
146
139
|
}
|
|
147
140
|
|
|
148
|
-
subVectors(a
|
|
141
|
+
subVectors(a: Readonly<NumericArray>, b: Readonly<NumericArray>): this {
|
|
149
142
|
return this.copy(a).subtract(b);
|
|
150
143
|
}
|
|
151
144
|
|
|
152
|
-
multiplyVectors(a
|
|
145
|
+
multiplyVectors(a: Readonly<NumericArray>, b: Readonly<NumericArray>): this {
|
|
153
146
|
return this.copy(a).multiply(b);
|
|
154
147
|
}
|
|
155
148
|
|
|
156
|
-
addScaledVector(a
|
|
157
|
-
// @ts-
|
|
149
|
+
addScaledVector(a: Readonly<NumericArray>, b: number): this {
|
|
150
|
+
// @ts-expect-error error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.
|
|
158
151
|
return this.add(new this.constructor(a).multiplyScalar(b));
|
|
159
152
|
}
|
|
160
153
|
}
|