rotateX, rotateY, rotateZ - задают поворот относительно текущего положения. Чтобы задать поворот вне зависимости от текущего состояния можно использовать mesh.rotation.set(1, 0, 0), где передаются значения в радианах.
А для чего вам это нужно? Какая практическая задача стоит?