public static void Divide(ref Vec4i v1, ref Vec4i v2, out Vec4i result) { result.RM = v1.RM / v2.RM; result.Rm = v1.Rm / v2.Rm; result.RN = v1.RN / v2.RN; result.Rn = v1.Rn / v2.Rn; }
public static void Divide(ref Vec4i v, int i, out Vec4i result) { result.RM = v.RM / i; result.Rm = v.Rm / i; result.RN = v.RN / i; result.Rn = v.Rn / i; }
public static void Multiply(int i, ref Vec4i v, out Vec4i result) { result.RM = v.RM * i; result.Rm = v.Rm * i; result.RN = v.RN * i; result.Rn = v.Rn * i; }
public static void Multiply(ref Vec4i v1, ref Vec4i v2, out Vec4i result) { result.RM = v1.RM * v2.RM; result.Rm = v1.Rm * v2.Rm; result.RN = v1.RN * v2.RN; result.Rn = v1.Rn * v2.Rn; }
public static void Subtract(ref Vec4i v1, ref Vec4i v2, out Vec4i result) { result.RM = v1.RM - v2.RM; result.Rm = v1.Rm - v2.Rm; result.RN = v1.RN - v2.RN; result.Rn = v1.Rn - v2.Rn; }
public static void Divide(int i, ref Vec4i v, out Vec4i result) { result.RM = i / v.RM; result.Rm = i / v.Rm; result.RN = i / v.RN; result.Rn = i / v.Rn; }
public static void Negate(ref Vec4i v, out Vec4i result) { result.RM = -v.RM; result.Rm = -v.Rm; result.RN = -v.RN; result.Rn = -v.Rn; }
public Vec4i(Vec4i source) { RM = source.RM; Rm = source.Rm; RN = source.RN; Rn = source.Rn; }
private void A(Vec4i A, Vec4i a) { if (RM < A.RM) { RM = A.RM; } else if (RM > a.RM) { RM = a.RM; } if (Rm < A.Rm) { Rm = A.Rm; } else if (Rm > a.Rm) { Rm = a.Rm; } if (RN < A.RN) { RN = A.RN; } else if (RN > a.RN) { RN = a.RN; } if (Rn < A.Rn) { Rn = A.Rn; } else if (Rn > a.Rn) { Rn = a.Rn; } }
public static void Add(ref Vec4i v1, ref Vec4i v2, out Vec4i result) { result.RM = v1.RM + v2.RM; result.Rm = v1.Rm + v2.Rm; result.RN = v1.RN + v2.RN; result.Rn = v1.Rn + v2.Rn; }
public static Vec4i Divide(int i, Vec4i v) { Vec4i veci; veci.RM = i / v.RM; veci.Rm = i / v.Rm; veci.RN = i / v.RN; veci.Rn = i / v.Rn; return(veci); }
public static Vec4i Divide(Vec4i v1, int v2) { Vec4i veci; veci.RM = v1.RM / v2; veci.Rm = v1.Rm / v2; veci.RN = v1.RN / v2; veci.Rn = v1.Rn / v2; return(veci); }
public static Vec4i Divide(Vec4i v1, Vec4i v2) { Vec4i veci; veci.RM = v1.RM / v2.RM; veci.Rm = v1.Rm / v2.Rm; veci.RN = v1.RN / v2.RN; veci.Rn = v1.Rn / v2.Rn; return(veci); }
public static Vec4i Multiply(int i, Vec4i v) { Vec4i veci; veci.RM = v.RM * i; veci.Rm = v.Rm * i; veci.RN = v.RN * i; veci.Rn = v.Rn * i; return(veci); }
public static Vec4i Multiply(Vec4i v1, Vec4i v2) { Vec4i veci; veci.RM = v1.RM * v2.RM; veci.Rm = v1.Rm * v2.Rm; veci.RN = v1.RN * v2.RN; veci.Rn = v1.Rn * v2.Rn; return(veci); }
public static Vec4i Add(Vec4i v1, Vec4i v2) { Vec4i veci; veci.RM = v1.RM + v2.RM; veci.Rm = v1.Rm + v2.Rm; veci.RN = v1.RN + v2.RN; veci.Rn = v1.Rn + v2.Rn; return(veci); }
public static Vec4i Negate(Vec4i v) { Vec4i veci; veci.RM = -v.RM; veci.Rm = -v.Rm; veci.RN = -v.RN; veci.Rn = -v.Rn; return(veci); }
public static Vec4i Subtract(Vec4i v1, Vec4i v2) { Vec4i veci; veci.RM = v1.RM - v2.RM; veci.Rm = v1.Rm - v2.Rm; veci.RN = v1.RN - v2.RN; veci.Rn = v1.Rn - v2.Rn; return(veci); }
public bool Equals(Vec4i v, int epsilon) { if (System.Math.Abs(RM - v.RM) > epsilon) { return(false); } if (System.Math.Abs(Rm - v.Rm) > epsilon) { return(false); } if (System.Math.Abs(RN - v.RN) > epsilon) { return(false); } if (System.Math.Abs(Rn - v.Rn) > epsilon) { return(false); } return(true); }
public static Vec4i Parse(string text) { Vec4i veci; if (string.IsNullOrEmpty(text)) { throw new ArgumentNullException("The text parameter cannot be null or zero length."); } string[] strArray = text.Split(SpaceCharacter.arrayWithOneSpaceCharacter, StringSplitOptions.RemoveEmptyEntries); if (strArray.Length != 4) { throw new FormatException($"Cannot parse the text '{text}' because it does not have 4 parts separated by spaces in the form (x y z w)."); } try { veci = new Vec4i(int.Parse(strArray[0]), int.Parse(strArray[1]), int.Parse(strArray[2]), int.Parse(strArray[3])); } catch (Exception) { throw new FormatException("The parts of the vectors must be decimal numbers."); } return(veci); }
static Vec4i() { Zero = new Vec4i(0, 0, 0, 0); }