Beispiel #1
0
        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];
        }
Beispiel #4
0
 public FinMatrix4x4(IReadOnlyFinMatrix4x4 other) => this.CopyFrom(other);