bool Tank::orientationEquals( Ogre::Quaternion a, Ogre::Quaternion b ) { Ogre::Real tolerance = 1e-3; Ogre::Real d = a.Dot(b); // why isn't it called .dotProduct()? return 1 - d*d < tolerance; }