56 dest.
m[0][0] = src.
m[0][0];
57 dest.
m[1][0] = src.
m[0][1];
58 dest.
m[2][0] = src.
m[0][2];
59 dest.
m[3][0] = -(src.
m[3][0]*src.
m[0][0] + src.
m[3][1]*src.
m[0][1] + src.
m[3][2]*src.
m[0][2]);
61 dest.
m[0][1] = src.
m[1][0];
62 dest.
m[1][1] = src.
m[1][1];
63 dest.
m[2][1] = src.
m[1][2];
64 dest.
m[3][1] = -(src.
m[3][0]*src.
m[1][0] + src.
m[3][1]*src.
m[1][1] + src.
m[3][2]*src.
m[1][2]);
66 dest.
m[0][2] = src.
m[2][0];
67 dest.
m[1][2] = src.
m[2][1];
68 dest.
m[2][2] = src.
m[2][2];
69 dest.
m[3][2] = -(src.
m[3][0]*src.
m[2][0] + src.
m[3][1]*src.
m[2][1] + src.
m[3][2]*src.
m[2][2]);
82 return (( m[(
row+1)&3][(col+1)&3]*m[(
row+2)&3][(col+2)&3]*m[(
row+3)&3][(col+3)&3] +
83 m[(
row+1)&3][(col+2)&3]*m[(
row+2)&3][(col+3)&3]*m[(
row+3)&3][(col+1)&3] +
84 m[(
row+1)&3][(col+3)&3]*m[(
row+2)&3][(col+1)&3]*m[(
row+3)&3][(col+2)&3])
85 - (m[(
row+3)&3][(col+1)&3]*m[(
row+2)&3][(col+2)&3]*m[(
row+1)&3][(col+3)&3] +
86 m[(
row+3)&3][(col+2)&3]*m[(
row+2)&3][(col+3)&3]*m[(
row+1)&3][(col+1)&3] +
87 m[(
row+3)&3][(col+3)&3]*m[(
row+2)&3][(col+1)&3]*m[(
row+1)&3][(col+2)&3])) * ((
row + col) & 1 ? -1.0
f : +1.0
f);
95 return m[0][0] * CoFactor(0, 0) +
96 m[0][1] * CoFactor(0, 1) +
97 m[0][2] * CoFactor(0, 2) +
98 m[0][3] * CoFactor(0, 3);
106 float Det = Determinant();
112 float IDet = 1.0f / Det;
114 Temp.
m[0][0] = CoFactor(0,0) * IDet;
115 Temp.
m[1][0] = CoFactor(0,1) * IDet;
116 Temp.
m[2][0] = CoFactor(0,2) * IDet;
117 Temp.
m[3][0] = CoFactor(0,3) * IDet;
118 Temp.
m[0][1] = CoFactor(1,0) * IDet;
119 Temp.
m[1][1] = CoFactor(1,1) * IDet;
120 Temp.
m[2][1] = CoFactor(1,2) * IDet;
121 Temp.
m[3][1] = CoFactor(1,3) * IDet;
122 Temp.
m[0][2] = CoFactor(2,0) * IDet;
123 Temp.
m[1][2] = CoFactor(2,1) * IDet;
124 Temp.
m[2][2] = CoFactor(2,2) * IDet;
125 Temp.
m[3][2] = CoFactor(2,3) * IDet;
126 Temp.
m[0][3] = CoFactor(3,0) * IDet;
127 Temp.
m[1][3] = CoFactor(3,1) * IDet;
128 Temp.
m[2][3] = CoFactor(3,2) * IDet;
129 Temp.
m[3][3] = CoFactor(3,3) * IDet;