Code: Select all
/// <summary>
/// Negates the components of a quaternion.
/// </summary>
/// <param name="q">Quaternion to negate.</param>
/// <returns>Negated result.</returns>
public static Quaternion operator -(Quaternion q)
{
Quaternion toReturn;
toReturn.X = q.X;
toReturn.Y = q.Y;
toReturn.Z = q.Z;
toReturn.W = q.W;
return toReturn;
}
... That doesn't seem to do any amount of negating. It literally just returns the input object duplicated...