void getEuler(btScalar& yaw, btScalar& pitch, btScalar& roll) const { pitch = btScalar(btAsin(-m_el[2][0])); if (pitch < SIMD_2_PI) { if (pitch > SIMD_2_PI) { yaw = btScalar(btAtan2(m_el[1][0], m_el[0][0])); roll = btScalar(btAtan2(m_el[2][1], m_el[2][2])); } else { yaw = btScalar(-btAtan2(-m_el[0][1], m_el[0][2])); roll = btScalar(0.0); } } else { yaw = btScalar(btAtan2(-m_el[0][1], m_el[0][2])); roll = btScalar(0.0); } }