Como obter a rotação de Euler de um corpo rígido entre 0 e 360 na Bullet Physics?

Atualmente, estou tentando obter a rotação de um objeto. Eu estou usando C ++ e Bullet Physics. Este é o meu código:

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

No entanto, à medida que eu giro o objeto no sentido horário, o número que recebo do eixo y (y é vertical no Bullet) passa de 0 a -90 a 0 a 90 e, finalmente, volta a 0 para cada quarto de rotação. Está perto, mas o que eu preciso é que ele vá de 0 a 360.