Skip to content

Commit 44ea080

Browse files
authored
Merge pull request #20614 from Antony74/bugfix/19303-typescript-support-valid-usage
TS: Added additional type information toArray( ) to support valid usage.
2 parents 183ed80 + 0fd9764 commit 44ea080

File tree

5 files changed

+26
-0
lines changed

5 files changed

+26
-0
lines changed

src/math/Matrix3.d.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import { Matrix4 } from './Matrix4';
22
import { Vector3 } from './Vector3';
33

4+
type Matrix3Tuple = [
5+
number, number, number,
6+
number, number, number,
7+
number, number, number,
8+
];
9+
410
/**
511
* ( interface Matrix<T> )
612
*/
@@ -125,6 +131,7 @@ export class Matrix3 implements Matrix {
125131
* @return The created or provided array.
126132
*/
127133
toArray( array?: number[], offset?: number ): number[];
134+
toArray( array?: Matrix3Tuple, offset?: 0 ): Matrix3Tuple;
128135

129136
/**
130137
* Copies he values of this matrix into the provided array-like.

src/math/Matrix4.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@ import { Vector3 } from './Vector3';
22
import { Euler } from './Euler';
33
import { Quaternion } from './Quaternion';
44
import { Matrix } from './Matrix3';
5+
6+
type Matrix4Tuple = [
7+
number, number, number, number,
8+
number, number, number, number,
9+
number, number, number, number,
10+
number, number, number, number,
11+
];
12+
513
/**
614
* A 4x4 Matrix.
715
*
@@ -235,6 +243,7 @@ export class Matrix4 implements Matrix {
235243
* @return The created or provided array.
236244
*/
237245
toArray( array?: number[], offset?: number ): number[];
246+
toArray( array?: Matrix4Tuple, offset?: 0 ): Matrix4Tuple;
238247

239248
/**
240249
* Copies he values of this matrix into the provided array-like.

src/math/Vector2.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { Matrix3 } from './Matrix3';
22
import { BufferAttribute } from './../core/BufferAttribute';
33

4+
type Vector2tuple = [number, number];
5+
46
/**
57
* ( interface Vector<T> )
68
*
@@ -427,6 +429,7 @@ export class Vector2 implements Vector {
427429
* @return The created or provided array.
428430
*/
429431
toArray( array?: number[], offset?: number ): number[];
432+
toArray( array?: Vector2tuple, offset?: 0 ): Vector2tuple;
430433

431434
/**
432435
* Copies x and y into the provided array-like.

src/math/Vector3.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ import { Cylindrical } from './Cylindrical';
88
import { BufferAttribute } from './../core/BufferAttribute';
99
import { InterleavedBufferAttribute } from './../core/InterleavedBufferAttribute';
1010
import { Vector } from './Vector2';
11+
12+
type Vector3Tuple = [number, number, number];
13+
1114
/**
1215
* 3D vector.
1316
*
@@ -284,6 +287,7 @@ export class Vector3 implements Vector {
284287
* @return The created or provided array.
285288
*/
286289
toArray( array?: number[], offset?: number ): number[];
290+
toArray( array?: Vector3Tuple, offset?: 0 ): Vector3Tuple;
287291

288292
/**
289293
* Copies x, y and z into the provided array-like.

src/math/Vector4.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import { Matrix3 } from './Matrix3';
44
import { BufferAttribute } from './../core/BufferAttribute';
55
import { Vector } from './Vector2';
66

7+
type Vector4Tuple = [number, number, number, number];
8+
79
/**
810
* 4D vector.
911
*
@@ -211,6 +213,7 @@ export class Vector4 implements Vector {
211213
* @return The created or provided array.
212214
*/
213215
toArray( array?: number[], offset?: number ): number[];
216+
toArray( array?: Vector4Tuple, offset?: 0 ): Vector4Tuple;
214217

215218
/**
216219
* Copies x, y, z and w into the provided array-like.

0 commit comments

Comments
 (0)