public Vector4f transform(float x, float y, float z, float w) { return new Vector4f( m00 * x + m01 * y + m02 * z + m03 * w, m10 * x + m11 * y + m12 * z + m13 * w, m20 * x + m21 * y + m22 * z + m23 * w, m30 * x + m31 * y + m32 * z + m33 * w); }
@Override public Vector4f clone() { return new Vector4f(this); }
/** * Converts 4 byte color components to a normalized float color. * * @param r The red component * @param b The blue component * @param g The green component * @param a The alpha component * @return The color as a 4 float vector */ public static Vector4f fromIntRGBA(int r, int g, int b, int a) { return new Vector4f((r & 0xff) / 255f, (g & 0xff) / 255f, (b & 0xff) / 255f, (a & 0xff) / 255f); }
public static Vector4f from(float x, float y, float z, float w) { return x == 0 && y == 0 && z == 0 && w == 0 ? ZERO : new Vector4f(x, y, z, w); } }
@Override public Vector4f clone() { return new Vector4f(this); }
public Vector4f transform(float x, float y, float z, float w) { return new Vector4f( m00 * x + m01 * y + m02 * z + m03 * w, m10 * x + m11 * y + m12 * z + m13 * w, m20 * x + m21 * y + m22 * z + m23 * w, m30 * x + m31 * y + m32 * z + m33 * w); }
@Override public Vector4f toFloat() { return new Vector4f(x, y, z, w); }
/** * Converts an AWT {@link java.awt.Color} into a normalized float color. * * @param color The AWT color to convert * @return The color as a 4 float vector */ public static Vector4f fromAWTColor(Color color) { return new Vector4f(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, color.getAlpha() / 255f); }
@Override public Vector4f abs() { return new Vector4f(Math.abs(x), Math.abs(y), Math.abs(z), Math.abs(w)); }
@Override public Vector4f pow(float power) { return new Vector4f(Math.pow(x, power), Math.pow(y, power), Math.pow(z, power), Math.pow(w, power)); }
@Override public Vector4f abs() { return new Vector4f(Math.abs(x), Math.abs(y), Math.abs(z), Math.abs(w)); }
@Override public Vector4f ceil() { return new Vector4f(Math.ceil(x), Math.ceil(y), Math.ceil(z), Math.ceil(w)); }
@Override public Vector4f normalize() { final float length = length(); if (Math.abs(length) < GenericMath.FLT_EPSILON) { throw new ArithmeticException("Cannot normalize the zero vector"); } return new Vector4f(x / length, y / length, z / length, w / length); }
@Override public Vector4f normalize() { final float length = length(); if (Math.abs(length) < GenericMath.FLT_EPSILON) { throw new ArithmeticException("Cannot normalize the zero vector"); } return new Vector4f(x / length, y / length, z / length, w / length); }
public Vector4f project(float x, float y, float z, float w) { final float lengthSquared = x * x + y * y + z * z + w * w; if (Math.abs(lengthSquared) < GenericMath.FLT_EPSILON) { throw new ArithmeticException("Cannot project onto the zero vector"); } final float a = dot(x, y, z, w) / lengthSquared; return new Vector4f(a * x, a * y, a * z, a * w); }
public Vector4f project(float x, float y, float z, float w) { final float lengthSquared = x * x + y * y + z * z + w * w; if (Math.abs(lengthSquared) < GenericMath.FLT_EPSILON) { throw new ArithmeticException("Cannot project onto the zero vector"); } final float a = dot(x, y, z, w) / lengthSquared; return new Vector4f(a * x, a * y, a * z, a * w); }
public static Vector4f deserialize4f(JsonElement element) { return new Vector4f( element.getAsJsonObject().get("x").getAsFloat(), element.getAsJsonObject().get("y").getAsFloat(), element.getAsJsonObject().get("z").getAsFloat(), element.getAsJsonObject().get("w").getAsFloat() ); }
public static Vector4f deserialize4f(JsonElement element) { return new Vector4f( element.getAsJsonObject().get("x").getAsFloat(), element.getAsJsonObject().get("y").getAsFloat(), element.getAsJsonObject().get("z").getAsFloat(), element.getAsJsonObject().get("w").getAsFloat() ); }
@Override public Vector4f getColumn(int col) { return new Vector4f(get(0, col), get(1, col), get(2, col), get(3, col)); }
@Override public Vector4f floor() { return new Vector4f(GenericMath.floor(x), GenericMath.floor(y), GenericMath.floor(z), GenericMath.floor(w)); }