Wie wird die Euler-Rotation eines starren Körpers in Bullet Physics zwischen 0 und 360 berechnet?

Ich versuche gerade, die Drehung eines Objekts zu ermitteln. Ich benutze C ++ und Bullet Physics. Das ist mein Code:

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

Wenn ich das Objekt jedoch im Uhrzeigersinn drehe, ändert sich die Zahl, die ich von der y-Achse (y ist in Bullet vertikal) erhalte, bei jeder Vierteldrehung von 0 auf -90 auf 0 auf 90 und schließlich wieder auf 0. Es ist nah dran, aber was ich brauche, ist, dass es den ganzen Weg von 0 auf 360 geht.