Пример #1
0
 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;
 }
Пример #2
0
 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;
 }
Пример #3
0
 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;
 }
Пример #4
0
 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;
 }
Пример #5
0
 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;
 }
Пример #6
0
 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;
 }
Пример #7
0
 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;
 }
Пример #8
0
 public Vec4i(Vec4i source)
 {
     RM = source.RM;
     Rm = source.Rm;
     RN = source.RN;
     Rn = source.Rn;
 }
Пример #9
0
 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;
     }
 }
Пример #10
0
 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;
 }
Пример #11
0
        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);
        }
Пример #12
0
        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);
        }
Пример #13
0
        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);
        }
Пример #14
0
        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);
        }
Пример #15
0
        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);
        }
Пример #16
0
        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);
        }
Пример #17
0
        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);
        }
Пример #18
0
        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);
        }
Пример #19
0
 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);
 }
Пример #20
0
        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);
        }
Пример #21
0
 static Vec4i()
 {
     Zero = new Vec4i(0, 0, 0, 0);
 }