¿Cómo obtener la rotación de Euler de un cuerpo rígido entre 0 y 360 en Bullet Physics?

Actualmente estoy tratando de obtener la rotación de un objeto. Estoy usando C ++ y Bullet Physics. Este es mi código:

btScalar x, y, z;
body[0]->getCenterOfMassTransform().getBasis().getEulerZYX(z, y, x);

Sin embargo, a medida que gire el objeto en sentido horario, el número que obtengo del eje y (y es vertical en Bullet) va de 0 a -90 a 0 a 90 y finalmente vuelve a 0 por cada cuarto de rotación. Está cerca, pero lo que necesito es que vaya de 0 a 360.