// Vector.java public class Vector { public Vector () { epsilon = 1E-007F; x = 0.0F; y = 0.0F; z = 0.0F; w = 1.0F; } public Vector (float f, float f1, float f2) { epsilon = 1E-007F; x = f; y = f1; z = f2; w = 1.0F; } public Vector (float f, float f1, float f2, float f3) { epsilon = 1E-007F; x = f; y = f1; z = f2; w = f3; } public final void add (Vector vector) { x += vector.x; y += vector.y; z += vector.z; } public final void cross (Vector vector, Vector vector1) { vector1.x = y * vector.z - z * vector.y; vector1.y = z * vector.x - x * vector.z; vector1.z = x * vector.y - y * vector.x; } public final float dot (Vector vector) { return x * vector.x + y * vector.y + z * vector.z; } public final void load (Vector vector) { x = vector.x; y = vector.y; z = vector.z; w = vector.w; } public final float magnitude () { return (float)Math.sqrt (x * x + y * y + z * z); } public final float magnitudeSquared () { return x * x + y * y + z * z; } public final void normalize () { float f = (float)Math.sqrt (x * x + y * y + z * z); if (f > epsilon) { float f1 = 1.0F / f; x *= f1; y *= f1; z *= f1; } } public void scale (float f) {x *= f; y *= f; z *= f;} public final void set (float f, float f1, float f2) { x = f; y = f1; z = f2; w = 1.0F; } public final void set (float f, float f1, float f2, float f3) { x = f; y = f1; z = f2; w = f3; } public final void subtract (Vector vector) { x -= vector.x; y -= vector.y; z -= vector.z; } public float x, y, z, w, epsilon; }