예제 #1
0
 /// <summary>
 /// Constructs this matrix from a lmat2x3. Non-overwritten fields are from an Identity matrix.
 /// </summary>
 public lmat2(lmat2x3 m)
 {
     this.m00 = m.m00;
     this.m01 = m.m01;
     this.m10 = m.m10;
     this.m11 = m.m11;
 }
예제 #2
0
 /// <summary>
 /// Constructs this matrix from a lmat2x3. Non-overwritten fields are from an Identity matrix.
 /// </summary>
 public lmat2x3(lmat2x3 m)
 {
     this.m00 = m.m00;
     this.m01 = m.m01;
     this.m02 = m.m02;
     this.m10 = m.m10;
     this.m11 = m.m11;
     this.m12 = m.m12;
 }
예제 #3
0
 /// <summary>
 /// Constructs this matrix from a lmat2x3. Non-overwritten fields are from an Identity matrix.
 /// </summary>
 public lmat3x2(lmat2x3 m)
 {
     this.m00 = m.m00;
     this.m01 = m.m01;
     this.m10 = m.m10;
     this.m11 = m.m11;
     this.m20 = 0;
     this.m21 = 0;
 }
예제 #4
0
 /// <summary>
 /// Constructs this matrix from a lmat2x3. Non-overwritten fields are from an Identity matrix.
 /// </summary>
 public lmat2x4(lmat2x3 m)
 {
     this.m00 = m.m00;
     this.m01 = m.m01;
     this.m02 = m.m02;
     this.m03 = 0;
     this.m10 = m.m10;
     this.m11 = m.m11;
     this.m12 = m.m12;
     this.m13 = 0;
 }
예제 #5
0
 /// <summary>
 /// Constructs this matrix from a lmat2x3. Non-overwritten fields are from an Identity matrix.
 /// </summary>
 public lmat3(lmat2x3 m)
 {
     this.m00 = m.m00;
     this.m01 = m.m01;
     this.m02 = m.m02;
     this.m10 = m.m10;
     this.m11 = m.m11;
     this.m12 = m.m12;
     this.m20 = 0;
     this.m21 = 0;
     this.m22 = 1;
 }
예제 #6
0
 /// <summary>
 /// Constructs this matrix from a lmat2x3. Non-overwritten fields are from an Identity matrix.
 /// </summary>
 public lmat4x3(lmat2x3 m)
 {
     this.m00 = m.m00;
     this.m01 = m.m01;
     this.m02 = m.m02;
     this.m10 = m.m10;
     this.m11 = m.m11;
     this.m12 = m.m12;
     this.m20 = 0;
     this.m21 = 0;
     this.m22 = 1;
     this.m30 = 0;
     this.m31 = 0;
     this.m32 = 0;
 }
예제 #7
0
 /// <summary>
 /// Returns an enumerator that iterates through all fields.
 /// </summary>
 public static IEnumerator <long> GetEnumerator(lmat2x3 m) => m.GetEnumerator();
예제 #8
0
 /// <summary>
 /// Creates a 1D array with all values (internal order)
 /// </summary>
 public static long[] Values1D(lmat2x3 m) => m.Values1D;
예제 #9
0
 /// <summary>
 /// Creates a 2D array with all values (address: Values[x, y])
 /// </summary>
 public static long[,] Values(lmat2x3 m) => m.Values;
예제 #10
0
 /// <summary>
 /// Executes a component-wise - (subtract).
 /// </summary>
 public static lmat2x3 CompSub(lmat2x3 A, lmat2x3 B) => new lmat2x3(A.m00 - B.m00, A.m01 - B.m01, A.m02 - B.m02, A.m10 - B.m10, A.m11 - B.m11, A.m12 - B.m12);
예제 #11
0
 /// <summary>
 /// Executes a component-wise + (add).
 /// </summary>
 public static lmat2x3 CompAdd(lmat2x3 A, lmat2x3 B) => new lmat2x3(A.m00 + B.m00, A.m01 + B.m01, A.m02 + B.m02, A.m10 + B.m10, A.m11 + B.m11, A.m12 + B.m12);
예제 #12
0
 /// <summary>
 /// Executes a component-wise / (divide).
 /// </summary>
 public static lmat2x3 CompDiv(lmat2x3 A, lmat2x3 B) => new lmat2x3(A.m00 / B.m00, A.m01 / B.m01, A.m02 / B.m02, A.m10 / B.m10, A.m11 / B.m11, A.m12 / B.m12);
예제 #13
0
 /// <summary>
 /// Executes a component-wise * (multiply).
 /// </summary>
 public static lmat2x3 CompMul(lmat2x3 A, lmat2x3 B) => new lmat2x3(A.m00 * B.m00, A.m01 * B.m01, A.m02 * B.m02, A.m10 * B.m10, A.m11 * B.m11, A.m12 * B.m12);
예제 #14
0
 /// <summary>
 /// Returns true iff this equals rhs component-wise.
 /// </summary>
 public bool Equals(lmat2x3 rhs) => (((m00.Equals(rhs.m00) && m01.Equals(rhs.m01)) && m02.Equals(rhs.m02)) && ((m10.Equals(rhs.m10) && m11.Equals(rhs.m11)) && m12.Equals(rhs.m12)));