Skip to content
Snippets Groups Projects
Commit dc2b0bf3 authored by Alexander Rose's avatar Alexander Rose
Browse files

added hasNaN methods to vec, mat, quat

parent 1944457a
No related branches found
No related tags found
No related merge requests found
......@@ -97,6 +97,11 @@ namespace Mat3 {
return out;
}
export function hasNaN(m: Mat3) {
for (let i = 0; i < 9; i++) if (isNaN(m[i])) return true
return false
}
/**
* Creates a new Mat3 initialized with values from an existing matrix
*/
......
......@@ -102,6 +102,11 @@ namespace Mat4 {
return areEqual(m, _id, typeof eps === 'undefined' ? EPSILON.Value : eps);
}
export function hasNaN(m: Mat4) {
for (let i = 0; i < 16; i++) if (isNaN(m[i])) return true
return false
}
export function areEqual(a: Mat4, b: Mat4, eps: number) {
for (let i = 0; i < 16; i++) {
if (Math.abs(a[i] - b[i]) > eps) return false;
......
......@@ -53,6 +53,10 @@ namespace Quat {
out[3] = 1;
}
export function hasNaN(q: Quat) {
return isNaN(q[0]) || isNaN(q[1]) || isNaN(q[2]) || isNaN(q[3])
}
export function create(x: number, y: number, z: number, w: number) {
const out = identity();
out[0] = x;
......
......@@ -40,6 +40,10 @@ namespace Vec2 {
return out;
}
export function hasNaN(a: Vec2) {
return isNaN(a[0]) || isNaN(a[1])
}
export function toArray(a: Vec2, out: Helpers.NumberArray, offset: number) {
out[offset + 0] = a[0];
out[offset + 1] = a[1];
......
......@@ -38,6 +38,10 @@ namespace Vec3 {
return out;
}
export function hasNaN(a: Vec3) {
return isNaN(a[0]) || isNaN(a[1]) || isNaN(a[2])
}
export function fromObj(v: { x: number, y: number, z: number }): Vec3 {
return create(v.x, v.y, v.z);
}
......
......@@ -48,6 +48,10 @@ namespace Vec4 {
return out;
}
export function hasNaN(a: Vec4) {
return isNaN(a[0]) || isNaN(a[1]) || isNaN(a[2]) || isNaN(a[3])
}
export function toArray(a: Vec4, out: Helpers.NumberArray, offset: number) {
out[offset + 0] = a[0];
out[offset + 1] = a[1];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment