applyQuaternion method
Applies a quaternion transform.
Implementation
void applyQuaternion(Quaternion arg) {
final Float32List argStorage = arg._qStorage;
final double v0 = _v3storage[0];
final double v1 = _v3storage[1];
final double v2 = _v3storage[2];
final double qx = argStorage[0];
final double qy = argStorage[1];
final double qz = argStorage[2];
final double qw = argStorage[3];
final double ix = qw * v0 + qy * v2 - qz * v1;
final double iy = qw * v1 + qz * v0 - qx * v2;
final double iz = qw * v2 + qx * v1 - qy * v0;
final double iw = -qx * v0 - qy * v1 - qz * v2;
_v3storage[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;
_v3storage[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;
_v3storage[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;
}