multiplyTranspose method
- Matrix4 arg
Multiply this with a transposed arg
.
Implementation
void multiplyTranspose(Matrix4 arg) {
final m00 = _m4storage[0];
final m01 = _m4storage[4];
final m02 = _m4storage[8];
final m03 = _m4storage[12];
final m10 = _m4storage[1];
final m11 = _m4storage[5];
final m12 = _m4storage[9];
final m13 = _m4storage[13];
final m20 = _m4storage[2];
final m21 = _m4storage[6];
final m22 = _m4storage[10];
final m23 = _m4storage[14];
final m30 = _m4storage[3];
final m31 = _m4storage[7];
final m32 = _m4storage[11];
final m33 = _m4storage[15];
final argStorage = arg._m4storage;
_m4storage[0] = (m00 * argStorage[0]) +
(m01 * argStorage[4]) +
(m02 * argStorage[8]) +
(m03 * argStorage[12]);
_m4storage[4] = (m00 * argStorage[1]) +
(m01 * argStorage[5]) +
(m02 * argStorage[9]) +
(m03 * argStorage[13]);
_m4storage[8] = (m00 * argStorage[2]) +
(m01 * argStorage[6]) +
(m02 * argStorage[10]) +
(m03 * argStorage[14]);
_m4storage[12] = (m00 * argStorage[3]) +
(m01 * argStorage[7]) +
(m02 * argStorage[11]) +
(m03 * argStorage[15]);
_m4storage[1] = (m10 * argStorage[0]) +
(m11 * argStorage[4]) +
(m12 * argStorage[8]) +
(m13 * argStorage[12]);
_m4storage[5] = (m10 * argStorage[1]) +
(m11 * argStorage[5]) +
(m12 * argStorage[9]) +
(m13 * argStorage[13]);
_m4storage[9] = (m10 * argStorage[2]) +
(m11 * argStorage[6]) +
(m12 * argStorage[10]) +
(m13 * argStorage[14]);
_m4storage[13] = (m10 * argStorage[3]) +
(m11 * argStorage[7]) +
(m12 * argStorage[11]) +
(m13 * argStorage[15]);
_m4storage[2] = (m20 * argStorage[0]) +
(m21 * argStorage[4]) +
(m22 * argStorage[8]) +
(m23 * argStorage[12]);
_m4storage[6] = (m20 * argStorage[1]) +
(m21 * argStorage[5]) +
(m22 * argStorage[9]) +
(m23 * argStorage[13]);
_m4storage[10] = (m20 * argStorage[2]) +
(m21 * argStorage[6]) +
(m22 * argStorage[10]) +
(m23 * argStorage[14]);
_m4storage[14] = (m20 * argStorage[3]) +
(m21 * argStorage[7]) +
(m22 * argStorage[11]) +
(m23 * argStorage[15]);
_m4storage[3] = (m30 * argStorage[0]) +
(m31 * argStorage[4]) +
(m32 * argStorage[8]) +
(m33 * argStorage[12]);
_m4storage[7] = (m30 * argStorage[1]) +
(m31 * argStorage[5]) +
(m32 * argStorage[9]) +
(m33 * argStorage[13]);
_m4storage[11] = (m30 * argStorage[2]) +
(m31 * argStorage[6]) +
(m32 * argStorage[10]) +
(m33 * argStorage[14]);
_m4storage[15] = (m30 * argStorage[3]) +
(m31 * argStorage[7]) +
(m32 * argStorage[11]) +
(m33 * argStorage[15]);
}