X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=site%2Fj2s%2FJU%2FT3.js;fp=site%2Fj2s%2FJU%2FT3.js;h=054b276521ea1a6b2b3d90743248ba0a58e340d2;hb=4231d40261fef32ce4570a6bbad0d35df44e8baf;hp=0000000000000000000000000000000000000000;hpb=c07eb2c5794833bd0241000d6844d783fe10cb82;p=jalview.git diff --git a/site/j2s/JU/T3.js b/site/j2s/JU/T3.js new file mode 100644 index 0000000..054b276 --- /dev/null +++ b/site/j2s/JU/T3.js @@ -0,0 +1,141 @@ +Clazz.declarePackage ("JU"); +Clazz.load (["javajs.api.JSONEncodable"], "JU.T3", ["java.lang.Float"], function () { +c$ = Clazz.decorateAsClass (function () { +this.x = 0; +this.y = 0; +this.z = 0; +Clazz.instantialize (this, arguments); +}, JU, "T3", null, [javajs.api.JSONEncodable, java.io.Serializable]); +Clazz.defineMethod (c$, "set", +function (x, y, z) { +this.x = x; +this.y = y; +this.z = z; +}, "~N,~N,~N"); +Clazz.defineMethod (c$, "setA", +function (t) { +this.x = t[0]; +this.y = t[1]; +this.z = t[2]; +}, "~A"); +Clazz.defineMethod (c$, "setT", +function (t1) { +this.x = t1.x; +this.y = t1.y; +this.z = t1.z; +}, "JU.T3"); +Clazz.defineMethod (c$, "add2", +function (t1, t2) { +this.x = t1.x + t2.x; +this.y = t1.y + t2.y; +this.z = t1.z + t2.z; +}, "JU.T3,JU.T3"); +Clazz.defineMethod (c$, "add", +function (t1) { +this.x += t1.x; +this.y += t1.y; +this.z += t1.z; +}, "JU.T3"); +Clazz.defineMethod (c$, "distanceSquared", +function (p1) { +var dx = this.x - p1.x; +var dy = this.y - p1.y; +var dz = this.z - p1.z; +return (dx * dx + dy * dy + dz * dz); +}, "JU.T3"); +Clazz.defineMethod (c$, "distance", +function (p1) { +return Math.sqrt (this.distanceSquared (p1)); +}, "JU.T3"); +Clazz.defineMethod (c$, "sub2", +function (t1, t2) { +this.x = t1.x - t2.x; +this.y = t1.y - t2.y; +this.z = t1.z - t2.z; +}, "JU.T3,JU.T3"); +Clazz.defineMethod (c$, "sub", +function (t1) { +this.x -= t1.x; +this.y -= t1.y; +this.z -= t1.z; +}, "JU.T3"); +Clazz.defineMethod (c$, "scale", +function (s) { +this.x *= s; +this.y *= s; +this.z *= s; +}, "~N"); +Clazz.defineMethod (c$, "add3", +function (a, b, c) { +this.x += a; +this.y += b; +this.z += c; +}, "~N,~N,~N"); +Clazz.defineMethod (c$, "scaleT", +function (p) { +this.x *= p.x; +this.y *= p.y; +this.z *= p.z; +}, "JU.T3"); +Clazz.defineMethod (c$, "scaleAdd2", +function (s, t1, t2) { +this.x = s * t1.x + t2.x; +this.y = s * t1.y + t2.y; +this.z = s * t1.z + t2.z; +}, "~N,JU.T3,JU.T3"); +Clazz.defineMethod (c$, "ave", +function (a, b) { +this.x = (a.x + b.x) / 2; +this.y = (a.y + b.y) / 2; +this.z = (a.z + b.z) / 2; +}, "JU.T3,JU.T3"); +Clazz.defineMethod (c$, "dot", +function (v) { +return this.x * v.x + this.y * v.y + this.z * v.z; +}, "JU.T3"); +Clazz.defineMethod (c$, "lengthSquared", +function () { +return this.x * this.x + this.y * this.y + this.z * this.z; +}); +Clazz.defineMethod (c$, "length", +function () { +return Math.sqrt (this.lengthSquared ()); +}); +Clazz.defineMethod (c$, "normalize", +function () { +var d = this.length (); +this.x /= d; +this.y /= d; +this.z /= d; +}); +Clazz.defineMethod (c$, "cross", +function (v1, v2) { +this.set (v1.y * v2.z - v1.z * v2.y, v1.z * v2.x - v1.x * v2.z, v1.x * v2.y - v1.y * v2.x); +}, "JU.T3,JU.T3"); +Clazz.overrideMethod (c$, "hashCode", +function () { +var bits = 1; +bits = 31 * bits + JU.T3.floatToIntBits0 (this.x); +bits = 31 * bits + JU.T3.floatToIntBits0 (this.y); +bits = 31 * bits + JU.T3.floatToIntBits0 (this.z); +return (bits ^ (bits >> 32)); +}); +c$.floatToIntBits0 = Clazz.defineMethod (c$, "floatToIntBits0", +function (f) { +return (f == 0 ? 0 : Float.floatToIntBits (f)); +}, "~N"); +Clazz.overrideMethod (c$, "equals", +function (t1) { +if (!(Clazz.instanceOf (t1, JU.T3))) return false; +var t2 = t1; +return (this.x == t2.x && this.y == t2.y && this.z == t2.z); +}, "~O"); +Clazz.overrideMethod (c$, "toString", +function () { +return "{" + this.x + ", " + this.y + ", " + this.z + "}"; +}); +Clazz.overrideMethod (c$, "toJSON", +function () { +return "[" + this.x + "," + this.y + "," + this.z + "]"; +}); +});