absoluteRotate method

Vector3 absoluteRotate (Vector3 arg)

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;
}