X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=bin%2Fjavajs%2Futil%2FM34.js;h=ae3f33d8077392f7f862da90c255285cb8b974c2;hp=47c6a34b3ac9959a704691ad813823c37bf86d1d;hb=8ffd05b3abe52c0b6b79b011c0966361f82d5fe6;hpb=6154cb57a6eac3bb1344b8342495f5bb701ee921 diff --git a/bin/javajs/util/M34.js b/bin/javajs/util/M34.js index 47c6a34..ae3f33d 100644 --- a/bin/javajs/util/M34.js +++ b/bin/javajs/util/M34.js @@ -1,336 +1,336 @@ -Clazz.declarePackage ("javajs.util"); -Clazz.load (null, "javajs.util.M34", ["java.lang.ArrayIndexOutOfBoundsException"], function () { -c$ = Clazz.decorateAsClass (function () { -this.m00 = 0; -this.m01 = 0; -this.m02 = 0; -this.m10 = 0; -this.m11 = 0; -this.m12 = 0; -this.m20 = 0; -this.m21 = 0; -this.m22 = 0; -Clazz.instantialize (this, arguments); -}, javajs.util, "M34"); -Clazz.defineMethod (c$, "setAA33", -function (a) { -var x = a.x; -var y = a.y; -var z = a.z; -var angle = a.angle; -var n = Math.sqrt (x * x + y * y + z * z); -n = 1 / n; -x *= n; -y *= n; -z *= n; -var c = Math.cos (angle); -var s = Math.sin (angle); -var omc = 1.0 - c; -this.m00 = (c + x * x * omc); -this.m11 = (c + y * y * omc); -this.m22 = (c + z * z * omc); -var tmp1 = x * y * omc; -var tmp2 = z * s; -this.m01 = (tmp1 - tmp2); -this.m10 = (tmp1 + tmp2); -tmp1 = x * z * omc; -tmp2 = y * s; -this.m02 = (tmp1 + tmp2); -this.m20 = (tmp1 - tmp2); -tmp1 = y * z * omc; -tmp2 = x * s; -this.m12 = (tmp1 - tmp2); -this.m21 = (tmp1 + tmp2); -}, "javajs.util.A4"); -Clazz.defineMethod (c$, "rotate", -function (t) { -this.rotate2 (t, t); -}, "javajs.util.T3"); -Clazz.defineMethod (c$, "rotate2", -function (t, result) { -result.set (this.m00 * t.x + this.m01 * t.y + this.m02 * t.z, this.m10 * t.x + this.m11 * t.y + this.m12 * t.z, this.m20 * t.x + this.m21 * t.y + this.m22 * t.z); -}, "javajs.util.T3,javajs.util.T3"); -Clazz.defineMethod (c$, "setM33", -function (m1) { -this.m00 = m1.m00; -this.m01 = m1.m01; -this.m02 = m1.m02; -this.m10 = m1.m10; -this.m11 = m1.m11; -this.m12 = m1.m12; -this.m20 = m1.m20; -this.m21 = m1.m21; -this.m22 = m1.m22; -}, "javajs.util.M34"); -Clazz.defineMethod (c$, "clear33", -function () { -this.m00 = this.m01 = this.m02 = this.m10 = this.m11 = this.m12 = this.m20 = this.m21 = this.m22 = 0.0; -}); -Clazz.defineMethod (c$, "set33", -function (row, col, v) { -switch (row) { -case 0: -switch (col) { -case 0: -this.m00 = v; -return; -case 1: -this.m01 = v; -return; -case 2: -this.m02 = v; -return; -} -break; -case 1: -switch (col) { -case 0: -this.m10 = v; -return; -case 1: -this.m11 = v; -return; -case 2: -this.m12 = v; -return; -} -break; -case 2: -switch (col) { -case 0: -this.m20 = v; -return; -case 1: -this.m21 = v; -return; -case 2: -this.m22 = v; -return; -} -break; -} -this.err (); -}, "~N,~N,~N"); -Clazz.defineMethod (c$, "get33", -function (row, col) { -switch (row) { -case 0: -switch (col) { -case 0: -return this.m00; -case 1: -return this.m01; -case 2: -return this.m02; -} -break; -case 1: -switch (col) { -case 0: -return this.m10; -case 1: -return this.m11; -case 2: -return this.m12; -} -break; -case 2: -switch (col) { -case 0: -return this.m20; -case 1: -return this.m21; -case 2: -return this.m22; -} -break; -} -this.err (); -return 0; -}, "~N,~N"); -Clazz.defineMethod (c$, "setRow33", -function (row, v) { -switch (row) { -case 0: -this.m00 = v[0]; -this.m01 = v[1]; -this.m02 = v[2]; -return; -case 1: -this.m10 = v[0]; -this.m11 = v[1]; -this.m12 = v[2]; -return; -case 2: -this.m20 = v[0]; -this.m21 = v[1]; -this.m22 = v[2]; -return; -default: -this.err (); -} -}, "~N,~A"); -Clazz.defineMethod (c$, "getRow33", -function (row, v) { -switch (row) { -case 0: -v[0] = this.m00; -v[1] = this.m01; -v[2] = this.m02; -return; -case 1: -v[0] = this.m10; -v[1] = this.m11; -v[2] = this.m12; -return; -case 2: -v[0] = this.m20; -v[1] = this.m21; -v[2] = this.m22; -return; -} -this.err (); -}, "~N,~A"); -Clazz.defineMethod (c$, "setColumn33", -function (column, v) { -switch (column) { -case 0: -this.m00 = v[0]; -this.m10 = v[1]; -this.m20 = v[2]; -break; -case 1: -this.m01 = v[0]; -this.m11 = v[1]; -this.m21 = v[2]; -break; -case 2: -this.m02 = v[0]; -this.m12 = v[1]; -this.m22 = v[2]; -break; -default: -this.err (); -} -}, "~N,~A"); -Clazz.defineMethod (c$, "getColumn33", -function (column, v) { -switch (column) { -case 0: -v[0] = this.m00; -v[1] = this.m10; -v[2] = this.m20; -break; -case 1: -v[0] = this.m01; -v[1] = this.m11; -v[2] = this.m21; -break; -case 2: -v[0] = this.m02; -v[1] = this.m12; -v[2] = this.m22; -break; -default: -this.err (); -} -}, "~N,~A"); -Clazz.defineMethod (c$, "add33", -function (m1) { -this.m00 += m1.m00; -this.m01 += m1.m01; -this.m02 += m1.m02; -this.m10 += m1.m10; -this.m11 += m1.m11; -this.m12 += m1.m12; -this.m20 += m1.m20; -this.m21 += m1.m21; -this.m22 += m1.m22; -}, "javajs.util.M34"); -Clazz.defineMethod (c$, "sub33", -function (m1) { -this.m00 -= m1.m00; -this.m01 -= m1.m01; -this.m02 -= m1.m02; -this.m10 -= m1.m10; -this.m11 -= m1.m11; -this.m12 -= m1.m12; -this.m20 -= m1.m20; -this.m21 -= m1.m21; -this.m22 -= m1.m22; -}, "javajs.util.M34"); -Clazz.defineMethod (c$, "mul33", -function (x) { -this.m00 *= x; -this.m01 *= x; -this.m02 *= x; -this.m10 *= x; -this.m11 *= x; -this.m12 *= x; -this.m20 *= x; -this.m21 *= x; -this.m22 *= x; -}, "~N"); -Clazz.defineMethod (c$, "transpose33", -function () { -var tmp = this.m01; -this.m01 = this.m10; -this.m10 = tmp; -tmp = this.m02; -this.m02 = this.m20; -this.m20 = tmp; -tmp = this.m12; -this.m12 = this.m21; -this.m21 = tmp; -}); -Clazz.defineMethod (c$, "setXRot", -function (angle) { -var c = Math.cos (angle); -var s = Math.sin (angle); -this.m00 = 1.0; -this.m01 = 0.0; -this.m02 = 0.0; -this.m10 = 0.0; -this.m11 = c; -this.m12 = -s; -this.m20 = 0.0; -this.m21 = s; -this.m22 = c; -}, "~N"); -Clazz.defineMethod (c$, "setYRot", -function (angle) { -var c = Math.cos (angle); -var s = Math.sin (angle); -this.m00 = c; -this.m01 = 0.0; -this.m02 = s; -this.m10 = 0.0; -this.m11 = 1.0; -this.m12 = 0.0; -this.m20 = -s; -this.m21 = 0.0; -this.m22 = c; -}, "~N"); -Clazz.defineMethod (c$, "setZRot", -function (angle) { -var c = Math.cos (angle); -var s = Math.sin (angle); -this.m00 = c; -this.m01 = -s; -this.m02 = 0.0; -this.m10 = s; -this.m11 = c; -this.m12 = 0.0; -this.m20 = 0.0; -this.m21 = 0.0; -this.m22 = 1.0; -}, "~N"); -Clazz.defineMethod (c$, "determinant3", -function () { -return this.m00 * (this.m11 * this.m22 - this.m21 * this.m12) - this.m01 * (this.m10 * this.m22 - this.m20 * this.m12) + this.m02 * (this.m10 * this.m21 - this.m20 * this.m11); -}); -Clazz.defineMethod (c$, "err", -function () { -throw new ArrayIndexOutOfBoundsException ("matrix column/row out of bounds"); -}); -}); +Clazz.declarePackage ("javajs.util"); +Clazz.load (null, "javajs.util.M34", ["java.lang.ArrayIndexOutOfBoundsException"], function () { +c$ = Clazz.decorateAsClass (function () { +this.m00 = 0; +this.m01 = 0; +this.m02 = 0; +this.m10 = 0; +this.m11 = 0; +this.m12 = 0; +this.m20 = 0; +this.m21 = 0; +this.m22 = 0; +Clazz.instantialize (this, arguments); +}, javajs.util, "M34"); +Clazz.defineMethod (c$, "setAA33", +function (a) { +var x = a.x; +var y = a.y; +var z = a.z; +var angle = a.angle; +var n = Math.sqrt (x * x + y * y + z * z); +n = 1 / n; +x *= n; +y *= n; +z *= n; +var c = Math.cos (angle); +var s = Math.sin (angle); +var omc = 1.0 - c; +this.m00 = (c + x * x * omc); +this.m11 = (c + y * y * omc); +this.m22 = (c + z * z * omc); +var tmp1 = x * y * omc; +var tmp2 = z * s; +this.m01 = (tmp1 - tmp2); +this.m10 = (tmp1 + tmp2); +tmp1 = x * z * omc; +tmp2 = y * s; +this.m02 = (tmp1 + tmp2); +this.m20 = (tmp1 - tmp2); +tmp1 = y * z * omc; +tmp2 = x * s; +this.m12 = (tmp1 - tmp2); +this.m21 = (tmp1 + tmp2); +}, "javajs.util.A4"); +Clazz.defineMethod (c$, "rotate", +function (t) { +this.rotate2 (t, t); +}, "javajs.util.T3"); +Clazz.defineMethod (c$, "rotate2", +function (t, result) { +result.set (this.m00 * t.x + this.m01 * t.y + this.m02 * t.z, this.m10 * t.x + this.m11 * t.y + this.m12 * t.z, this.m20 * t.x + this.m21 * t.y + this.m22 * t.z); +}, "javajs.util.T3,javajs.util.T3"); +Clazz.defineMethod (c$, "setM33", +function (m1) { +this.m00 = m1.m00; +this.m01 = m1.m01; +this.m02 = m1.m02; +this.m10 = m1.m10; +this.m11 = m1.m11; +this.m12 = m1.m12; +this.m20 = m1.m20; +this.m21 = m1.m21; +this.m22 = m1.m22; +}, "javajs.util.M34"); +Clazz.defineMethod (c$, "clear33", +function () { +this.m00 = this.m01 = this.m02 = this.m10 = this.m11 = this.m12 = this.m20 = this.m21 = this.m22 = 0.0; +}); +Clazz.defineMethod (c$, "set33", +function (row, col, v) { +switch (row) { +case 0: +switch (col) { +case 0: +this.m00 = v; +return; +case 1: +this.m01 = v; +return; +case 2: +this.m02 = v; +return; +} +break; +case 1: +switch (col) { +case 0: +this.m10 = v; +return; +case 1: +this.m11 = v; +return; +case 2: +this.m12 = v; +return; +} +break; +case 2: +switch (col) { +case 0: +this.m20 = v; +return; +case 1: +this.m21 = v; +return; +case 2: +this.m22 = v; +return; +} +break; +} +this.err (); +}, "~N,~N,~N"); +Clazz.defineMethod (c$, "get33", +function (row, col) { +switch (row) { +case 0: +switch (col) { +case 0: +return this.m00; +case 1: +return this.m01; +case 2: +return this.m02; +} +break; +case 1: +switch (col) { +case 0: +return this.m10; +case 1: +return this.m11; +case 2: +return this.m12; +} +break; +case 2: +switch (col) { +case 0: +return this.m20; +case 1: +return this.m21; +case 2: +return this.m22; +} +break; +} +this.err (); +return 0; +}, "~N,~N"); +Clazz.defineMethod (c$, "setRow33", +function (row, v) { +switch (row) { +case 0: +this.m00 = v[0]; +this.m01 = v[1]; +this.m02 = v[2]; +return; +case 1: +this.m10 = v[0]; +this.m11 = v[1]; +this.m12 = v[2]; +return; +case 2: +this.m20 = v[0]; +this.m21 = v[1]; +this.m22 = v[2]; +return; +default: +this.err (); +} +}, "~N,~A"); +Clazz.defineMethod (c$, "getRow33", +function (row, v) { +switch (row) { +case 0: +v[0] = this.m00; +v[1] = this.m01; +v[2] = this.m02; +return; +case 1: +v[0] = this.m10; +v[1] = this.m11; +v[2] = this.m12; +return; +case 2: +v[0] = this.m20; +v[1] = this.m21; +v[2] = this.m22; +return; +} +this.err (); +}, "~N,~A"); +Clazz.defineMethod (c$, "setColumn33", +function (column, v) { +switch (column) { +case 0: +this.m00 = v[0]; +this.m10 = v[1]; +this.m20 = v[2]; +break; +case 1: +this.m01 = v[0]; +this.m11 = v[1]; +this.m21 = v[2]; +break; +case 2: +this.m02 = v[0]; +this.m12 = v[1]; +this.m22 = v[2]; +break; +default: +this.err (); +} +}, "~N,~A"); +Clazz.defineMethod (c$, "getColumn33", +function (column, v) { +switch (column) { +case 0: +v[0] = this.m00; +v[1] = this.m10; +v[2] = this.m20; +break; +case 1: +v[0] = this.m01; +v[1] = this.m11; +v[2] = this.m21; +break; +case 2: +v[0] = this.m02; +v[1] = this.m12; +v[2] = this.m22; +break; +default: +this.err (); +} +}, "~N,~A"); +Clazz.defineMethod (c$, "add33", +function (m1) { +this.m00 += m1.m00; +this.m01 += m1.m01; +this.m02 += m1.m02; +this.m10 += m1.m10; +this.m11 += m1.m11; +this.m12 += m1.m12; +this.m20 += m1.m20; +this.m21 += m1.m21; +this.m22 += m1.m22; +}, "javajs.util.M34"); +Clazz.defineMethod (c$, "sub33", +function (m1) { +this.m00 -= m1.m00; +this.m01 -= m1.m01; +this.m02 -= m1.m02; +this.m10 -= m1.m10; +this.m11 -= m1.m11; +this.m12 -= m1.m12; +this.m20 -= m1.m20; +this.m21 -= m1.m21; +this.m22 -= m1.m22; +}, "javajs.util.M34"); +Clazz.defineMethod (c$, "mul33", +function (x) { +this.m00 *= x; +this.m01 *= x; +this.m02 *= x; +this.m10 *= x; +this.m11 *= x; +this.m12 *= x; +this.m20 *= x; +this.m21 *= x; +this.m22 *= x; +}, "~N"); +Clazz.defineMethod (c$, "transpose33", +function () { +var tmp = this.m01; +this.m01 = this.m10; +this.m10 = tmp; +tmp = this.m02; +this.m02 = this.m20; +this.m20 = tmp; +tmp = this.m12; +this.m12 = this.m21; +this.m21 = tmp; +}); +Clazz.defineMethod (c$, "setXRot", +function (angle) { +var c = Math.cos (angle); +var s = Math.sin (angle); +this.m00 = 1.0; +this.m01 = 0.0; +this.m02 = 0.0; +this.m10 = 0.0; +this.m11 = c; +this.m12 = -s; +this.m20 = 0.0; +this.m21 = s; +this.m22 = c; +}, "~N"); +Clazz.defineMethod (c$, "setYRot", +function (angle) { +var c = Math.cos (angle); +var s = Math.sin (angle); +this.m00 = c; +this.m01 = 0.0; +this.m02 = s; +this.m10 = 0.0; +this.m11 = 1.0; +this.m12 = 0.0; +this.m20 = -s; +this.m21 = 0.0; +this.m22 = c; +}, "~N"); +Clazz.defineMethod (c$, "setZRot", +function (angle) { +var c = Math.cos (angle); +var s = Math.sin (angle); +this.m00 = c; +this.m01 = -s; +this.m02 = 0.0; +this.m10 = s; +this.m11 = c; +this.m12 = 0.0; +this.m20 = 0.0; +this.m21 = 0.0; +this.m22 = 1.0; +}, "~N"); +Clazz.defineMethod (c$, "determinant3", +function () { +return this.m00 * (this.m11 * this.m22 - this.m21 * this.m12) - this.m01 * (this.m10 * this.m22 - this.m20 * this.m12) + this.m02 * (this.m10 * this.m21 - this.m20 * this.m11); +}); +Clazz.defineMethod (c$, "err", +function () { +throw new ArrayIndexOutOfBoundsException ("matrix column/row out of bounds"); +}); +});