]> git.mxchange.org Git - simgear.git/blobdiff - simgear/misc/texcoord.cxx
Update the code a bit more, add a function to retreive the last error string and...
[simgear.git] / simgear / misc / texcoord.cxx
index f428cc926feea14e0c5f4d8d4c0b704538905d1b..d4874a7d4bfb414c4dfa87d97c969fa4259a6fa9 100644 (file)
@@ -2,7 +2,7 @@
 //
 // Written by Curtis Olson, started March 1999.
 //
-// Copyright (C) 1999  Curtis L. Olson  - curt@flightgear.org
+// Copyright (C) 1999  Curtis L. Olson  - http://www.flightgear.org/~curt
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Library General Public
@@ -140,8 +140,15 @@ enter this in the official comments in case I forget again. :-)
 
 */
 
+#include <simgear/compiler.h>
+
+// #include STL_IOSTREAM
+
 #include "texcoord.hxx"
 
+// SG_USING_STD(cout);
+// SG_USING_STD(endl);
+
 
 #define FG_STANDARD_TEXTURE_DIMENSION 1000.0 // meters
 #define MAX_TEX_COORD 8.0
@@ -149,9 +156,10 @@ enter this in the official comments in case I forget again. :-)
 
 
 // return the basic unshifted/unmoded texture coordinate for a lat/lon
-inline Point3D basic_tex_coord( const Point3D& p, 
-                               double degree_width, double degree_height,
-                               double scale )
+static inline Point3D basic_tex_coord( const Point3D& p, 
+                                       double degree_width,
+                                       double degree_height,
+                                       double scale )
 {
     return Point3D( p.x() * ( degree_width * scale / 
                              FG_STANDARD_TEXTURE_DIMENSION ),
@@ -163,7 +171,7 @@ inline Point3D basic_tex_coord( const Point3D& p,
 
 // traverse the specified fan/strip/list of vertices and attempt to
 // calculate "none stretching" texture coordinates
-point_list calc_tex_coords( const SGBucket& b, const point_list& geod_nodes,
+point_list sgCalcTexCoords( const SGBucket& b, const point_list& geod_nodes,
                            const int_list& fan, double scale )
 {
     // cout << "calculating texture coordinates for a specific fan of size = "
@@ -178,10 +186,10 @@ point_list calc_tex_coords( const SGBucket& b, const point_list& geod_nodes,
        clat = (int)clat - 0.5;
     }
 
-    double clat_rad = clat * DEG_TO_RAD;
+    double clat_rad = clat * SGD_DEGREES_TO_RADIANS;
     double cos_lat = cos( clat_rad );
-    double local_radius = cos_lat * EQUATORIAL_RADIUS_M;
-    double local_perimeter = 2.0 * local_radius * SG_PI;
+    double local_radius = cos_lat * SG_EQUATORIAL_RADIUS_M;
+    double local_perimeter = 2.0 * local_radius * SGD_PI;
     double degree_width = local_perimeter / 360.0;
 
     // cout << "clat = " << clat << endl;
@@ -191,7 +199,7 @@ point_list calc_tex_coords( const SGBucket& b, const point_list& geod_nodes,
     // cout << "local_perimeter = " << local_perimeter << endl;
     // cout << "degree_width = " << degree_width << endl;
 
-    double perimeter = 2.0 * EQUATORIAL_RADIUS_M * SG_PI;
+    double perimeter = 2.0 * SG_EQUATORIAL_RADIUS_M * SGD_PI;
     double degree_height = perimeter / 360.0;
     // cout << "degree_height = " << degree_height << endl;