absoluteRotate method
Rotates arg
by the absolute rotation of this
Returns arg
.
Primarily used by AABB transformation code.
Implementation
Vector3 absoluteRotate(Vector3 arg) {
final double m00 = _m3storage[0].abs();
final double m01 = _m3storage[3].abs();
final double m02 = _m3storage[6].abs();
final double m10 = _m3storage[1].abs();
final double m11 = _m3storage[4].abs();
final double m12 = _m3storage[7].abs();
final double m20 = _m3storage[2].abs();
final double m21 = _m3storage[5].abs();
final double m22 = _m3storage[8].abs();
final Float32List argStorage = arg._v3storage;
final double x = argStorage[0];
final double y = argStorage[1];
final double z = argStorage[2];
argStorage[0] = x * m00 + y * m01 + z * m02;
argStorage[1] = x * m10 + y * m11 + z * m12;
argStorage[2] = x * m20 + y * m21 + z * m22;
return arg;
}