public void CopyFrom(IReadOnlyFinMatrix4x4 other) { Asserts.Different(this, other, "Copying into same matrix!"); for (var r = 0; r < 4; ++r) { for (var c = 0; c < 4; ++c) { this[r, c] = other[r, c]; } } this.IsIdentity = other.IsIdentity; }
public static void CopyFinIntoAssimp( IReadOnlyFinMatrix4x4 finMatrix, ref AssimpMatrix assMatrix) { assMatrix.A1 = (float)finMatrix[0, 0]; assMatrix.B1 = (float)finMatrix[1, 0]; assMatrix.C1 = (float)finMatrix[2, 0]; assMatrix.D1 = (float)finMatrix[3, 0]; assMatrix.A2 = (float)finMatrix[0, 1]; assMatrix.B2 = (float)finMatrix[1, 1]; assMatrix.C2 = (float)finMatrix[2, 1]; assMatrix.D2 = (float)finMatrix[3, 1]; assMatrix.A3 = (float)finMatrix[0, 2]; assMatrix.B3 = (float)finMatrix[1, 2]; assMatrix.C3 = (float)finMatrix[2, 2]; assMatrix.D3 = (float)finMatrix[3, 2]; assMatrix.A4 = (float)finMatrix[0, 3]; assMatrix.B4 = (float)finMatrix[1, 3]; assMatrix.C4 = (float)finMatrix[2, 3]; assMatrix.D4 = (float)finMatrix[3, 3]; }
public static void CopyFinIntoSystem( IReadOnlyFinMatrix4x4 finMatrix, ref SystemMatrix systemMatrix) { systemMatrix.M11 = (float)finMatrix[0, 0]; systemMatrix.M12 = (float)finMatrix[1, 0]; systemMatrix.M13 = (float)finMatrix[2, 0]; systemMatrix.M14 = (float)finMatrix[3, 0]; systemMatrix.M21 = (float)finMatrix[0, 1]; systemMatrix.M22 = (float)finMatrix[1, 1]; systemMatrix.M23 = (float)finMatrix[2, 1]; systemMatrix.M24 = (float)finMatrix[3, 1]; systemMatrix.M31 = (float)finMatrix[0, 2]; systemMatrix.M32 = (float)finMatrix[1, 2]; systemMatrix.M33 = (float)finMatrix[2, 2]; systemMatrix.M34 = (float)finMatrix[3, 2]; systemMatrix.M41 = (float)finMatrix[0, 3]; systemMatrix.M42 = (float)finMatrix[1, 3]; systemMatrix.M43 = (float)finMatrix[2, 3]; systemMatrix.M44 = (float)finMatrix[3, 3]; }
public FinMatrix4x4(IReadOnlyFinMatrix4x4 other) => this.CopyFrom(other);