/// <summary> /// Constructs this matrix from a gmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public gmat2(gmat4 <T> m) { this.m00 = m.m00; this.m01 = m.m01; this.m10 = m.m10; this.m11 = m.m11; }
/// <summary> /// Constructs this matrix from a gmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public gmat2x3(gmat4 <T> 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; }
/// <summary> /// Constructs this matrix from a gmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public gmat3x2(gmat4 <T> m) { this.m00 = m.m00; this.m01 = m.m01; this.m10 = m.m10; this.m11 = m.m11; this.m20 = m.m20; this.m21 = m.m21; }
/// <summary> /// Constructs this matrix from a gmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public gmat2x4(gmat4 <T> m) { this.m00 = m.m00; this.m01 = m.m01; this.m02 = m.m02; this.m03 = m.m03; this.m10 = m.m10; this.m11 = m.m11; this.m12 = m.m12; this.m13 = m.m13; }
/// <summary> /// Constructs this matrix from a gmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public gmat3(gmat4 <T> 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 = m.m20; this.m21 = m.m21; this.m22 = m.m22; }
/// <summary> /// Constructs this matrix from a gmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public gmat3x4(gmat4 <T> m) { this.m00 = m.m00; this.m01 = m.m01; this.m02 = m.m02; this.m03 = m.m03; this.m10 = m.m10; this.m11 = m.m11; this.m12 = m.m12; this.m13 = m.m13; this.m20 = m.m20; this.m21 = m.m21; this.m22 = m.m22; this.m23 = m.m23; }
/// <summary> /// Returns an enumerator that iterates through all fields. /// </summary> public static IEnumerator <T> GetEnumerator <T>(gmat4 <T> m) => m.GetEnumerator();
/// <summary> /// Creates a 1D array with all values (internal order) /// </summary> public static T[] Values1D <T>(gmat4 <T> m) => m.Values1D;
/// <summary> /// Creates a 2D array with all values (address: Values[x, y]) /// </summary> public static T[,] Values <T>(gmat4 <T> m) => m.Values;
/// <summary> /// Returns true iff this equals rhs component-wise. /// </summary> public bool Equals(gmat4 <T> rhs) => ((((EqualityComparer <T> .Default.Equals(m00, rhs.m00) && EqualityComparer <T> .Default.Equals(m01, rhs.m01)) && (EqualityComparer <T> .Default.Equals(m02, rhs.m02) && EqualityComparer <T> .Default.Equals(m03, rhs.m03))) && ((EqualityComparer <T> .Default.Equals(m10, rhs.m10) && EqualityComparer <T> .Default.Equals(m11, rhs.m11)) && (EqualityComparer <T> .Default.Equals(m12, rhs.m12) && EqualityComparer <T> .Default.Equals(m13, rhs.m13)))) && (((EqualityComparer <T> .Default.Equals(m20, rhs.m20) && EqualityComparer <T> .Default.Equals(m21, rhs.m21)) && (EqualityComparer <T> .Default.Equals(m22, rhs.m22) && EqualityComparer <T> .Default.Equals(m23, rhs.m23))) && ((EqualityComparer <T> .Default.Equals(m30, rhs.m30) && EqualityComparer <T> .Default.Equals(m31, rhs.m31)) && (EqualityComparer <T> .Default.Equals(m32, rhs.m32) && EqualityComparer <T> .Default.Equals(m33, rhs.m33)))));