Apply a rotation to <code>this</code> quaternion rotating the given radians about the cartesian base unit axes,
called the euler angles using rotation sequence <code>XYZ</code>.
<p>
This method is equivalent to calling: <code>rotateX(angleX).rotateY(angleY).rotateZ(angleZ)</code>
<p>
If <code>Q</code> is <code>this</code> quaternion and <code>R</code> the quaternion representing the
specified rotation, then the new quaternion will be <code>Q * R</code>. So when transforming a
vector <code>v</code> with the new quaternion by using <code>Q * R * v</code>, the
rotation added by this method will be applied first!
@param angleX
the angle in radians to rotate about the x axis
@param angleY
the angle in radians to rotate about the y axis
@param angleZ
the angle in radians to rotate about the z axis
@return this
Apply a rotation to <code>this</code> quaternion rotating the given radians about the cartesian base unit axes, called the euler angles using rotation sequence <code>XYZ</code>. <p> This method is equivalent to calling: <code>rotateX(angleX).rotateY(angleY).rotateZ(angleZ)</code> <p> If <code>Q</code> is <code>this</code> quaternion and <code>R</code> the quaternion representing the specified rotation, then the new quaternion will be <code>Q * R</code>. So when transforming a vector <code>v</code> with the new quaternion by using <code>Q * R * v</code>, the rotation added by this method will be applied first!
@param angleX the angle in radians to rotate about the x axis @param angleY the angle in radians to rotate about the y axis @param angleZ the angle in radians to rotate about the z axis @return this