]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - libs/splines/math_quaternion.cpp
more eol-style
[xonotic/netradiant.git] / libs / splines / math_quaternion.cpp
index 588ece23be8ee5c6317ba25efa5aedbe50e4b131..5eab53b83cda8f353f18e677e163b8cd64c37b0d 100644 (file)
@@ -1,78 +1,78 @@
-/*\r
-Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
-For a list of contributors, see the accompanying CONTRIBUTORS file.\r
-\r
-This file is part of GtkRadiant.\r
-\r
-GtkRadiant is free software; you can redistribute it and/or modify\r
-it under the terms of the GNU General Public License as published by\r
-the Free Software Foundation; either version 2 of the License, or\r
-(at your option) any later version.\r
-\r
-GtkRadiant is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-GNU General Public License for more details.\r
-\r
-You should have received a copy of the GNU General Public License\r
-along with GtkRadiant; if not, write to the Free Software\r
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
-*/\r
-\r
-#include "math_quaternion.h"\r
-#include "math_matrix.h"\r
-\r
-void toQuat( idVec3 &src, quat_t &dst ) {\r
-       dst.x = src.x;\r
-       dst.y = src.y;\r
-       dst.z = src.z;\r
-       dst.w = 0.0f;\r
-}\r
-\r
-void toQuat( angles_t &src, quat_t &dst ) {\r
-       mat3_t temp;\r
-\r
-       toMatrix( src, temp );\r
-       toQuat( temp, dst );\r
-}\r
-\r
-void toQuat( mat3_t &src, quat_t &dst ) {\r
-       float           trace;\r
-       float           s;\r
-       int             i;\r
-       int                     j;\r
-       int                     k;\r
-\r
-       static int      next[ 3 ] = { 1, 2, 0 };\r
-\r
-       trace = src[ 0 ][ 0 ] + src[ 1 ][ 1 ] + src[ 2 ][ 2 ];\r
-       if ( trace > 0.0f ) {\r
-               s = ( float )sqrt( trace + 1.0f );\r
-               dst.w = s * 0.5f;\r
-               s = 0.5f / s;\r
-    \r
-               dst.x = ( src[ 2 ][ 1 ] - src[ 1 ][ 2 ] ) * s;\r
-               dst.y = ( src[ 0 ][ 2 ] - src[ 2 ][ 0 ] ) * s;\r
-               dst.z = ( src[ 1 ][ 0 ] - src[ 0 ][ 1 ] ) * s;\r
-       } else {\r
-               i = 0;\r
-               if ( src[ 1 ][ 1 ] > src[ 0 ][ 0 ] ) {\r
-                       i = 1;\r
-               }\r
-               if ( src[ 2 ][ 2 ] > src[ i ][ i ] ) {\r
-                       i = 2;\r
-               }\r
-\r
-               j = next[ i ];  \r
-               k = next[ j ];\r
-    \r
-               s = ( float )sqrt( ( src[ i ][ i ] - ( src[ j ][ j ] + src[ k ][ k ] ) ) + 1.0f );\r
-               dst[ i ] = s * 0.5f;\r
-    \r
-               s = 0.5f / s;\r
-    \r
-               dst.w           = ( src[ k ][ j ] - src[ j ][ k ] ) * s;\r
-               dst[ j ]        = ( src[ j ][ i ] + src[ i ][ j ] ) * s;\r
-               dst[ k ]        = ( src[ k ][ i ] + src[ i ][ k ] ) * s;\r
-       }\r
-}\r
+/*
+Copyright (C) 1999-2007 id Software, Inc. and contributors.
+For a list of contributors, see the accompanying CONTRIBUTORS file.
+
+This file is part of GtkRadiant.
+
+GtkRadiant is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+GtkRadiant is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GtkRadiant; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#include "math_quaternion.h"
+#include "math_matrix.h"
+
+void toQuat( idVec3 &src, quat_t &dst ) {
+       dst.x = src.x;
+       dst.y = src.y;
+       dst.z = src.z;
+       dst.w = 0.0f;
+}
+
+void toQuat( angles_t &src, quat_t &dst ) {
+       mat3_t temp;
+
+       toMatrix( src, temp );
+       toQuat( temp, dst );
+}
+
+void toQuat( mat3_t &src, quat_t &dst ) {
+       float           trace;
+       float           s;
+       int             i;
+       int                     j;
+       int                     k;
+
+       static int      next[ 3 ] = { 1, 2, 0 };
+
+       trace = src[ 0 ][ 0 ] + src[ 1 ][ 1 ] + src[ 2 ][ 2 ];
+       if ( trace > 0.0f ) {
+               s = ( float )sqrt( trace + 1.0f );
+               dst.w = s * 0.5f;
+               s = 0.5f / s;
+    
+               dst.x = ( src[ 2 ][ 1 ] - src[ 1 ][ 2 ] ) * s;
+               dst.y = ( src[ 0 ][ 2 ] - src[ 2 ][ 0 ] ) * s;
+               dst.z = ( src[ 1 ][ 0 ] - src[ 0 ][ 1 ] ) * s;
+       } else {
+               i = 0;
+               if ( src[ 1 ][ 1 ] > src[ 0 ][ 0 ] ) {
+                       i = 1;
+               }
+               if ( src[ 2 ][ 2 ] > src[ i ][ i ] ) {
+                       i = 2;
+               }
+
+               j = next[ i ];  
+               k = next[ j ];
+    
+               s = ( float )sqrt( ( src[ i ][ i ] - ( src[ j ][ j ] + src[ k ][ k ] ) ) + 1.0f );
+               dst[ i ] = s * 0.5f;
+    
+               s = 0.5f / s;
+    
+               dst.w           = ( src[ k ][ j ] - src[ j ][ k ] ) * s;
+               dst[ j ]        = ( src[ j ][ i ] + src[ i ][ j ] ) * s;
+               dst[ k ]        = ( src[ k ][ i ] + src[ i ][ k ] ) * s;
+       }
+}