void Quat::invXform(Vect3 &v) const { Vect3 *u, uv, uuv; u = (Vect3 *) &x_; uv.cross(*u, v); uuv.cross(*u, uv); uv.scale(2.0 * -s_); uuv.scale(2.0); v.add(uv); v.add(uuv); }
void Quat::xform(const Vect3 &v, Vect3 &xv) const { Vect3 *u, uv, uuv; u = (Vect3 *) &x_; uv.cross(*u, v); uuv.cross(*u, uv); uv.scale(2.0 * s_); uuv.scale(2.0); xv.add(v, uv); xv.add(uuv); }