rotate3 method

Vector3 rotate3(
  1. Vector3 arg
)

Rotate arg of type Vector3 using the rotation defined by this.

Implementation

Vector3 rotate3(Vector3 arg) {
  final argStorage = arg._v3storage;
  final x_ = (_m4storage[0] * argStorage[0]) +
      (_m4storage[4] * argStorage[1]) +
      (_m4storage[8] * argStorage[2]);
  final y_ = (_m4storage[1] * argStorage[0]) +
      (_m4storage[5] * argStorage[1]) +
      (_m4storage[9] * argStorage[2]);
  final z_ = (_m4storage[2] * argStorage[0]) +
      (_m4storage[6] * argStorage[1]) +
      (_m4storage[10] * argStorage[2]);
  argStorage[0] = x_;
  argStorage[1] = y_;
  argStorage[2] = z_;
  return arg;
}