1 Clazz.declarePackage ("JU");
\r
2 Clazz.load (null, "JU.M34", ["java.lang.ArrayIndexOutOfBoundsException"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
13 Clazz.instantialize (this, arguments);
\r
15 Clazz.defineMethod (c$, "setAA33",
\r
20 var angle = a.angle;
\r
21 var n = Math.sqrt (x * x + y * y + z * z);
\r
26 var c = Math.cos (angle);
\r
27 var s = Math.sin (angle);
\r
29 this.m00 = (c + x * x * omc);
\r
30 this.m11 = (c + y * y * omc);
\r
31 this.m22 = (c + z * z * omc);
\r
32 var tmp1 = x * y * omc;
\r
34 this.m01 = (tmp1 - tmp2);
\r
35 this.m10 = (tmp1 + tmp2);
\r
38 this.m02 = (tmp1 + tmp2);
\r
39 this.m20 = (tmp1 - tmp2);
\r
42 this.m12 = (tmp1 - tmp2);
\r
43 this.m21 = (tmp1 + tmp2);
\r
45 Clazz.defineMethod (c$, "rotate",
\r
47 this.rotate2 (t, t);
\r
49 Clazz.defineMethod (c$, "rotate2",
\r
50 function (t, result) {
\r
51 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);
\r
53 Clazz.defineMethod (c$, "setM33",
\r
65 Clazz.defineMethod (c$, "clear33",
\r
67 this.m00 = this.m01 = this.m02 = this.m10 = this.m11 = this.m12 = this.m20 = this.m21 = this.m22 = 0.0;
\r
69 Clazz.defineMethod (c$, "set33",
\r
70 function (row, col, v) {
\r
114 Clazz.defineMethod (c$, "get33",
\r
115 function (row, col) {
\r
151 Clazz.defineMethod (c$, "setRow33",
\r
152 function (row, v) {
\r
173 Clazz.defineMethod (c$, "getRow33",
\r
174 function (row, v) {
\r
194 Clazz.defineMethod (c$, "setColumn33",
\r
195 function (column, v) {
\r
216 Clazz.defineMethod (c$, "getColumn33",
\r
217 function (column, v) {
\r
238 Clazz.defineMethod (c$, "add33",
\r
240 this.m00 += m1.m00;
\r
241 this.m01 += m1.m01;
\r
242 this.m02 += m1.m02;
\r
243 this.m10 += m1.m10;
\r
244 this.m11 += m1.m11;
\r
245 this.m12 += m1.m12;
\r
246 this.m20 += m1.m20;
\r
247 this.m21 += m1.m21;
\r
248 this.m22 += m1.m22;
\r
250 Clazz.defineMethod (c$, "sub33",
\r
252 this.m00 -= m1.m00;
\r
253 this.m01 -= m1.m01;
\r
254 this.m02 -= m1.m02;
\r
255 this.m10 -= m1.m10;
\r
256 this.m11 -= m1.m11;
\r
257 this.m12 -= m1.m12;
\r
258 this.m20 -= m1.m20;
\r
259 this.m21 -= m1.m21;
\r
260 this.m22 -= m1.m22;
\r
262 Clazz.defineMethod (c$, "mul33",
\r
274 Clazz.defineMethod (c$, "transpose33",
\r
276 var tmp = this.m01;
\r
277 this.m01 = this.m10;
\r
280 this.m02 = this.m20;
\r
283 this.m12 = this.m21;
\r
286 Clazz.defineMethod (c$, "setXRot",
\r
288 var c = Math.cos (angle);
\r
289 var s = Math.sin (angle);
\r
300 Clazz.defineMethod (c$, "setYRot",
\r
302 var c = Math.cos (angle);
\r
303 var s = Math.sin (angle);
\r
314 Clazz.defineMethod (c$, "setZRot",
\r
316 var c = Math.cos (angle);
\r
317 var s = Math.sin (angle);
\r
328 Clazz.defineMethod (c$, "determinant3",
\r
330 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);
\r
332 Clazz.defineMethod (c$, "err",
\r
334 throw new ArrayIndexOutOfBoundsException ("matrix column/row out of bounds");
\r