diff -Naurw Irrlicht/include/vector3d.h Irrlicht/include/vector3d.h --- Irrlicht/include/vector3d.h 2005-09-22 15:02:56.000000000 +0200 +++ Irrlicht/include/vector3d.h 2005-11-12 22:29:44.000000000 +0100 @@ -224,6 +224,32 @@ array[3] = 0; } + // Added, got from Arras on the Irrlicht forums + //! Gets the Y and Z rotations of a vector + //! \return A vector representing the rotation ( in degrees ) of + //! this vector. + vector3d getYZangle ( ) + { + vector3d angle; + + angle.Y = atan2 ( X, Z ); + angle.Y *= (f32)GRAD_PI; + + if ( angle.Y < 0.0f ) angle.Y += 360.0f; + if ( angle.Y >= 360.0f ) angle.Y -= 360.0f; + + float z1; + z1 = sqrt ( X * X + Z * Z ); + + angle.X = atan2 ( z1, Y); + angle.X *= (f32)GRAD_PI; + angle.X -= 90.0f; + + if ( angle.X < 0.0f ) angle.X += 360.0f; + if ( angle.X >= 360 ) angle.X -= 360.0f; + + return angle; + } // member variables