Merge pull request #12649 from ExpHP/null-aware-gl-matrix

Make gl-matrix null-aware
This commit is contained in:
Nathan Shively-Sanders
2016-11-21 11:01:41 -08:00
committed by GitHub
3 changed files with 26 additions and 21 deletions
+19 -14
View File
@@ -33,6 +33,11 @@ let outMat3 = mat3.create();
let outMat4 = mat4.create();
let outQuat = quat.create();
let outMat2Null: mat2 | null;
let outMat2dNull: mat2d | null;
let outMat3Null: mat3 | null;
let outMat4Null: mat4 | null;
// vec2
outVec2 = vec2.create();
outVec2 = vec2.clone(vec2A);
@@ -180,7 +185,7 @@ outMat2 = mat2.identity(outMat2);
outMat2 = mat2.fromValues(1, 2, 3, 4);
outMat2 = mat2.set(outMat2, 1, 2, 3, 4);
outMat2 = mat2.transpose(outMat2, mat2A);
outMat2 = mat2.invert(outMat2, mat2A);
outMat2Null = mat2.invert(outMat2, mat2A);
outMat2 = mat2.adjoint(outMat2, mat2A);
outVal = mat2.determinant(mat2A);
outMat2 = mat2.multiply(outMat2, mat2A, mat2B);
@@ -210,7 +215,7 @@ outMat2d = mat2d.copy(outMat2d, mat2dA);
outMat2d = mat2d.identity(outMat2d);
outMat2d = mat2d.fromValues(1, 2, 3, 4, 5, 6);
outMat2d = mat2d.set(outMat2d, 1, 2, 3, 4, 5, 6);
outMat2d = mat2d.invert(outMat2d, mat2dA);
outMat2dNull = mat2d.invert(outMat2d, mat2dA);
outVal = mat2d.determinant(mat2dA);
outMat2d = mat2d.multiply(outMat2d, mat2dA, mat2dB);
outMat2d = mat2d.mul(outMat2d, mat2dA, mat2dB);
@@ -239,7 +244,7 @@ outMat3 = mat3.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9);
outMat3 = mat3.set(outMat3, 1, 2, 3, 4, 5, 6, 7, 8, 9);
outMat3 = mat3.identity(outMat3);
outMat3 = mat3.transpose(outMat3, mat3A);
outMat3 = mat3.invert(outMat3, mat3A);
outMat3Null = mat3.invert(outMat3, mat3A);
outMat3 = mat3.adjoint(outMat3, mat3A);
outVal = mat3.determinant(mat3A);
outMat3 = mat3.multiply(outMat3, mat3A, mat3B);
@@ -252,7 +257,7 @@ outMat3 = mat3.fromRotation(outMat3, Math.PI);
outMat3 = mat3.fromScaling(outMat3, vec2A);
outMat3 = mat3.fromMat2d(outMat3, mat2dA);
outMat3 = mat3.fromQuat(outMat3, quatA);
outMat3 = mat3.normalFromMat4(outMat3, mat4A);
outMat3Null = mat3.normalFromMat4(outMat3, mat4A);
outStr = mat3.str(mat3A);
outVal = mat3.frob(mat3A);
outMat3 = mat3.add(outMat3, mat3A, mat3B);
@@ -271,19 +276,19 @@ outMat4 = mat4.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
outMat4 = mat4.set(outMat4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
outMat4 = mat4.identity(outMat4);
outMat4 = mat4.transpose(outMat4, mat4A);
outMat4 = mat4.invert(outMat4, mat4A);
outMat4Null = mat4.invert(outMat4, mat4A);
outMat4 = mat4.adjoint(outMat4, mat4A);
outVal = mat4.determinant(mat4A);
outMat4 = mat4.multiply(outMat4, mat4A, mat4B);
outMat4 = mat4.mul(outMat4, mat4A, mat4B);
outMat4 = mat4.translate(outMat4, mat4A, vec3A);
outMat4 = mat4.scale(outMat4, mat4A, vec3A);
outMat4 = mat4.rotate(outMat4, mat4A, Math.PI, vec3A);
outMat4Null = mat4.rotate(outMat4, mat4A, Math.PI, vec3A);
outMat4 = mat4.rotateX(outMat4, mat4A, Math.PI);
outMat4 = mat4.rotateY(outMat4, mat4A, Math.PI);
outMat4 = mat4.rotateZ(outMat4, mat4A, Math.PI);
outMat4 = mat4.fromTranslation(outMat4, vec3A);
outMat4 = mat4.fromRotation(outMat4, Math.PI, vec3A);
outMat4Null = mat4.fromRotation(outMat4, Math.PI, vec3A);
outMat4 = mat4.fromScaling(outMat4, vec3A);
outMat4 = mat4.fromXRotation(outMat4, Math.PI);
outMat4 = mat4.fromYRotation(outMat4, Math.PI);
@@ -529,7 +534,7 @@ outMat2 = _mat2.identity(outMat2);
outMat2 = _mat2.fromValues(1, 2, 3, 4);
outMat2 = _mat2.set(outMat2, 1, 2, 3, 4);
outMat2 = _mat2.transpose(outMat2, mat2A);
outMat2 = _mat2.invert(outMat2, mat2A);
outMat2Null = _mat2.invert(outMat2, mat2A);
outMat2 = _mat2.adjoint(outMat2, mat2A);
outVal = _mat2.determinant(mat2A);
outMat2 = _mat2.multiply(outMat2, mat2A, mat2B);
@@ -559,7 +564,7 @@ outMat2d = _mat2d.copy(outMat2d, mat2dA);
outMat2d = _mat2d.identity(outMat2d);
outMat2d = _mat2d.fromValues(1, 2, 3, 4, 5, 6);
outMat2d = _mat2d.set(outMat2d, 1, 2, 3, 4, 5, 6);
outMat2d = _mat2d.invert(outMat2d, mat2dA);
outMat2dNull = _mat2d.invert(outMat2d, mat2dA);
outVal = _mat2d.determinant(mat2dA);
outMat2d = _mat2d.multiply(outMat2d, mat2dA, mat2dB);
outMat2d = _mat2d.mul(outMat2d, mat2dA, mat2dB);
@@ -588,7 +593,7 @@ outMat3 = _mat3.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9);
outMat3 = _mat3.set(outMat3, 1, 2, 3, 4, 5, 6, 7, 8, 9);
outMat3 = _mat3.identity(outMat3);
outMat3 = _mat3.transpose(outMat3, mat3A);
outMat3 = _mat3.invert(outMat3, mat3A);
outMat3Null = _mat3.invert(outMat3, mat3A);
outMat3 = _mat3.adjoint(outMat3, mat3A);
outVal = _mat3.determinant(mat3A);
outMat3 = _mat3.multiply(outMat3, mat3A, mat3B);
@@ -601,7 +606,7 @@ outMat3 = _mat3.fromRotation(outMat3, Math.PI);
outMat3 = _mat3.fromScaling(outMat3, vec2A);
outMat3 = _mat3.fromMat2d(outMat3, mat2dA);
outMat3 = _mat3.fromQuat(outMat3, quatA);
outMat3 = _mat3.normalFromMat4(outMat3, mat4A);
outMat3Null = _mat3.normalFromMat4(outMat3, mat4A);
outStr = _mat3.str(mat3A);
outVal = _mat3.frob(mat3A);
outMat3 = _mat3.add(outMat3, mat3A, mat3B);
@@ -620,19 +625,19 @@ outMat4 = _mat4.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
outMat4 = _mat4.set(outMat4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
outMat4 = _mat4.identity(outMat4);
outMat4 = _mat4.transpose(outMat4, mat4A);
outMat4 = _mat4.invert(outMat4, mat4A);
outMat4Null = _mat4.invert(outMat4, mat4A);
outMat4 = _mat4.adjoint(outMat4, mat4A);
outVal = _mat4.determinant(mat4A);
outMat4 = _mat4.multiply(outMat4, mat4A, mat4B);
outMat4 = _mat4.mul(outMat4, mat4A, mat4B);
outMat4 = _mat4.translate(outMat4, mat4A, vec3A);
outMat4 = _mat4.scale(outMat4, mat4A, vec3A);
outMat4 = _mat4.rotate(outMat4, mat4A, Math.PI, vec3A);
outMat4Null = _mat4.rotate(outMat4, mat4A, Math.PI, vec3A);
outMat4 = _mat4.rotateX(outMat4, mat4A, Math.PI);
outMat4 = _mat4.rotateY(outMat4, mat4A, Math.PI);
outMat4 = _mat4.rotateZ(outMat4, mat4A, Math.PI);
outMat4 = _mat4.fromTranslation(outMat4, vec3A);
outMat4 = _mat4.fromRotation(outMat4, Math.PI, vec3A);
outMat4Null = _mat4.fromRotation(outMat4, Math.PI, vec3A);
outMat4 = _mat4.fromScaling(outMat4, vec3A);
outMat4 = _mat4.fromXRotation(outMat4, Math.PI);
outMat4 = _mat4.fromYRotation(outMat4, Math.PI);
+5 -5
View File
@@ -1384,7 +1384,7 @@ declare module 'gl-matrix' {
* @param a the source matrix
* @returns out
*/
public static invert(out: mat2, a: mat2): mat2;
public static invert(out: mat2, a: mat2): mat2 | null;
/**
* Calculates the adjugate of a mat2
@@ -1638,7 +1638,7 @@ declare module 'gl-matrix' {
* @param a the source matrix
* @returns out
*/
public static invert(out: mat2d, a: mat2d): mat2d;
public static invert(out: mat2d, a: mat2d): mat2d | null;
/**
* Calculates the determinant of a mat2d
@@ -1918,7 +1918,7 @@ declare module 'gl-matrix' {
* @param a the source matrix
* @returns out
*/
public static invert(out: mat3, a: mat3): mat3;
public static invert(out: mat3, a: mat3): mat3 | null;
/**
* Calculates the adjugate of a mat3
@@ -2054,7 +2054,7 @@ declare module 'gl-matrix' {
*
* @returns out
*/
public static normalFromMat4(out: mat3, a: mat4): mat3;
public static normalFromMat4(out: mat3, a: mat4): mat3 | null;
/**
* Returns a string representation of a mat3
@@ -2242,7 +2242,7 @@ declare module 'gl-matrix' {
* @param a the source matrix
* @returns out
*/
public static invert(out: mat4, a: mat4): mat4;
public static invert(out: mat4, a: mat4): mat4 | null;
/**
* Calculates the adjugate of a mat4
+2 -2
View File
@@ -3,7 +3,7 @@
"module": "commonjs",
"target": "es6",
"noImplicitAny": true,
"strictNullChecks": false,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
@@ -16,4 +16,4 @@
"index.d.ts",
"gl-matrix-tests.ts"
]
}
}