This adds support for serialization to QDebug of
glm::vec3, glm::quat and glm::mat4.
Output example:
qDebug().nospace() << "Calling PhysicsEntity::findRayIntersection(" << origin << ", " << direction << ", &distance) const; numShapes = " << numShapes;
leads to:
[2014-07-13T20:24:47] Calling PhysicsEntity::findRayIntersection({type='glm::vec3', x=5222.45, y=2159.05, z=6527.79}, {type='glm::vec3', x=0, y=-0.119145, z=-0.992877}, &distance) const; numShapes = 0
Note that we explicitly don't return dbg.space() because
we want to be able to print these things comma separated
as follows: {...}, {...}, ... as opposed to {...} , {...} etc.
I changed the already existing operator<< for Box to
the more general case, where it just prints its members
and doesn't mess with the internals of its members.
The result is more verbose, but also more recognizable when
in the future everything will look the same, allowing
for speed reading the debug output.
The constructor of Box needed to made explicit because
it was too annoying that when one forgets to #include "StreamUtils.h"
that writing a glm::vec3 resulted in printing out a Box,
implicitly converted from the vector.