]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Quaternions.h
Oops, should be ifdef not ifndef
[lugaru.git] / Source / Quaternions.h
index cfa2bace88ab4ff0fb5c057400f6501c45898bf3..f090ef9f0b064d2a8fe471a268a2f6d92637770f 100644 (file)
@@ -1,33 +1,27 @@
 /*
 Copyright (C) 2003, 2010 - Wolfire Games
+Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
 
 This file is part of Lugaru.
 
-Lugaru 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.
+Lugaru 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.
 
-This program is distributed in the hope that it will be useful,
+Lugaru 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.
+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 this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 
 #ifndef _QUATERNIONS_H_
 #define _QUATERNIONS_H_
 
-#ifndef WIN32
-#pragma mark -
-#endif
-
-//#include "Carbon.h"
 #include "math.h"
 #include "PhysicsMath.h"
 #include "gamegl.h"
@@ -226,7 +220,8 @@ inline void XYZ::vec(Vector add)
 
 inline bool XYZ::operator==(XYZ add)
 {
-    if (x == add.x && y == add.y && z == add.z)return 1;
+    if (x == add.x && y == add.y && z == add.z)
+        return 1;
     return 0;
 }
 
@@ -246,24 +241,7 @@ inline void CrossProduct(XYZ P, XYZ Q, XYZ *V)
 
 inline float fast_sqrt (register float arg)
 {
-#if PLATFORM_MACOSX
-    // Can replace with slower return std::sqrt(arg);
-    register float result;
-
-    if (arg == 0.0) return 0.0;
-
-    asm {
-        frsqrte                result, arg                     // Calculate Square root
-    }
-
-    // Newton Rhapson iterations.
-    result = result + 0.5 * result * (1.0 - arg * result * result);
-    result = result + 0.5 * result * (1.0 - arg * result * result);
-
-    return result * arg;
-#else
-    return sqrtf( arg);
-#endif
+    return sqrtf(arg);
 }
 
 inline float normaldotproduct(XYZ point1, XYZ point2)
@@ -401,12 +379,12 @@ inline bool sphere_line_intersection (
     //~ static float x , y , z;
     static float a, b, c, /*mu,*/ i ;
 
-    if (x1 > x3 + r && x2 > x3 + r)return(0);
-    if (x1 < x3 - r && x2 < x3 - r)return(0);
-    if (y1 > y3 + r && y2 > y3 + r)return(0);
-    if (y1 < y3 - r && y2 < y3 - r)return(0);
-    if (z1 > z3 + r && z2 > z3 + r)return(0);
-    if (z1 < z3 - r && z2 < z3 - r)return(0);
+    if (x1 > x3 + r && x2 > x3 + r) return(0);
+    if (x1 < x3 - r && x2 < x3 - r) return(0);
+    if (y1 > y3 + r && y2 > y3 + r) return(0);
+    if (y1 < y3 - r && y2 < y3 - r) return(0);
+    if (z1 > z3 + r && z2 > z3 + r) return(0);
+    if (z1 < z3 - r && z2 < z3 - r) return(0);
     a =  square(x2 - x1) + square(y2 - y1) + square(z2 - z1);
     b =  2 * ( (x2 - x1) * (x1 - x3)
                + (y2 - y1) * (y1 - y3)
@@ -439,12 +417,12 @@ inline bool sphere_line_intersection (
     //~ static float x , y , z;
     static float a, b, c, /*mu,*/ i ;
 
-    if (p1->x > p3->x + *r && p2->x > p3->x + *r)return(0);
-    if (p1->x < p3->x - *r && p2->x < p3->x - *r)return(0);
-    if (p1->y > p3->y + *r && p2->y > p3->y + *r)return(0);
-    if (p1->y < p3->y - *r && p2->y < p3->y - *r)return(0);
-    if (p1->z > p3->z + *r && p2->z > p3->z + *r)return(0);
-    if (p1->z < p3->z - *r && p2->z < p3->z - *r)return(0);
+    if (p1->x > p3->x + *r && p2->x > p3->x + *r) return(0);
+    if (p1->x < p3->x - *r && p2->x < p3->x - *r) return(0);
+    if (p1->y > p3->y + *r && p2->y > p3->y + *r) return(0);
+    if (p1->y < p3->y - *r && p2->y < p3->y - *r) return(0);
+    if (p1->z > p3->z + *r && p2->z > p3->z + *r) return(0);
+    if (p1->z < p3->z - *r && p2->z < p3->z - *r) return(0);
     a =  square(p2->x - p1->x) + square(p2->y - p1->y) + square(p2->z - p1->z);
     b =  2 * ( (p2->x - p1->x) * (p1->x - p3->x)
                + (p2->y - p1->y) * (p1->y - p3->y)