From 3164e01e40c5a5b367161cc18ff2f4ca0adad1f1 Mon Sep 17 00:00:00 2001 From: Stefan Eckert Date: Sat, 25 Dec 2021 12:11:00 +0100 Subject: [PATCH] fix(playcanvas): code cleanaup --- src/adapter/playcanvas.js | 2 +- src/index.js | 11 ++------ src/quaternion.js | 54 +++++++++++++++++++-------------------- 3 files changed, 30 insertions(+), 37 deletions(-) diff --git a/src/adapter/playcanvas.js b/src/adapter/playcanvas.js index 7b20ff12..1b15d0dd 100644 --- a/src/adapter/playcanvas.js +++ b/src/adapter/playcanvas.js @@ -302,7 +302,7 @@ export function hijackPlayCanvas (pc) { if (other && (isNumber(other.w))) { return this.transformVec4(other); } - return AMat4().mul2(this, other); + return new AMat4().mul2(this, other); }; AMat3.prototype[Symbol.iterator] = function () { diff --git a/src/index.js b/src/index.js index 35bc9973..35b608ff 100644 --- a/src/index.js +++ b/src/index.js @@ -1,9 +1,6 @@ -import { operatorCalc } from './operator'; -import { Vector, Victor } from './vector'; -import { Point, IPoint } from './point'; -import { Quaternion, IQuaternion } from './quaternion'; -import { IMat3 } from './mat3'; +import { Vector } from './vector'; +export { operatorCalc as calc } from './operator'; export { Vector, Victor, Victor as IVector, vector, victor, victor as ivector, FORWARD, LEFT, UP, RIGHT } from './vector'; @@ -22,8 +19,4 @@ export { export { IMat3 } from './mat3'; export { radians, degrees } from './angles'; -export function calc (alg) { - return operatorCalc(alg); -} - export default Vector; diff --git a/src/quaternion.js b/src/quaternion.js index 73213e3e..f8d69b3b 100644 --- a/src/quaternion.js +++ b/src/quaternion.js @@ -46,53 +46,53 @@ function look (forward, up) { const m22 = vector.z; const num8 = (m00 + m11) + m22; - const quaternion = new Array(4); + const quat = new Array(4); if (num8 > 0) { let num = Math.sqrt(num8 + 1); - quaternion[W] = num * 0.5; + quat[W] = num * 0.5; num = 0.5 / num; - quaternion[X] = (m12 - m21) * num; - quaternion[Y] = (m20 - m02) * num; - quaternion[Z] = (m01 - m10) * num; - return quaternion; + quat[X] = (m12 - m21) * num; + quat[Y] = (m20 - m02) * num; + quat[Z] = (m01 - m10) * num; + return quat; } if ((m00 >= m11) && (m00 >= m22)) { const num7 = Math.sqrt(((1 + m00) - m11) - m22); const num4 = 0.5 / num7; - quaternion[X] = 0.5 * num7; - quaternion[Y] = (m01 + m10) * num4; - quaternion[Z] = (m02 + m20) * num4; - quaternion[W] = (m12 - m21) * num4; - return quaternion; + quat[X] = 0.5 * num7; + quat[Y] = (m01 + m10) * num4; + quat[Z] = (m02 + m20) * num4; + quat[W] = (m12 - m21) * num4; + return quat; } if (m11 > m22) { const num6 = Math.sqrt(((1 + m11) - m00) - m22); const num3 = 0.5 / num6; - quaternion[X] = (m10 + m01) * num3; - quaternion[Y] = 0.5 * num6; - quaternion[Z] = (m21 + m12) * num3; - quaternion[W] = (m20 - m02) * num3; - return quaternion; + quat[X] = (m10 + m01) * num3; + quat[Y] = 0.5 * num6; + quat[Z] = (m21 + m12) * num3; + quat[W] = (m20 - m02) * num3; + return quat; } const num5 = Math.sqrt(((1 + m22) - m00) - m11); const num2 = 0.5 / num5; - quaternion[X] = (m20 + m02) * num2; - quaternion[Y] = (m21 + m12) * num2; - quaternion[Z] = 0.5 * num5; - quaternion[W] = (m01 - m10) * num2; - return quaternion; + quat[X] = (m20 + m02) * num2; + quat[Y] = (m21 + m12) * num2; + quat[Z] = 0.5 * num5; + quat[W] = (m01 - m10) * num2; + return quat; } function axisAngle (axis, angle) { - const quaternion = new Array(4); + const quat = new Array(4); const a = angle * 0.5; const sa = Math.sin(a); const ca = Math.cos(a); - quaternion[X] = sa * axis.x; - quaternion[Y] = sa * axis.y; - quaternion[Z] = sa * axis.z; - quaternion[W] = ca; - return quaternion; + quat[X] = sa * axis.x; + quat[Y] = sa * axis.y; + quat[Z] = sa * axis.z; + quat[W] = ca; + return quat; } function getQuat (x, y, z, w) {