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 = _m4storage[0].abs();
final double m01 = _m4storage[4].abs();
final double m02 = _m4storage[8].abs();
final double m10 = _m4storage[1].abs();
final double m11 = _m4storage[5].abs();
final double m12 = _m4storage[9].abs();
final double m20 = _m4storage[2].abs();
final double m21 = _m4storage[6].abs();
final double m22 = _m4storage[10].abs();
final Float64List 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 + 0.0 * 0.0;
argStorage[1] = x * m10 + y * m11 + z * m12 + 0.0 * 0.0;
argStorage[2] = x * m20 + y * m21 + z * m22 + 0.0 * 0.0;
return arg;
}