]> git.mxchange.org Git - flightgear.git/blobdiff - src/Time/sunpos.cxx
Patch from Cameron Moore:
[flightgear.git] / src / Time / sunpos.cxx
index 92b6ab708dffd9dbbde8ceabc5df46b10fb4f09a..ebc45f9d5f3dc50219e928712b0c101145d68660 100644 (file)
 #include <simgear/math/polar3d.hxx>
 #include <simgear/math/sg_geodesy.hxx>
 #include <simgear/math/vector.hxx>
+#include <simgear/timing/sg_time.hxx>
 
 #include <Main/globals.hxx>
+#include <Main/viewer.hxx>
 #include <Scenery/scenery.hxx>
 #include <Time/light.hxx>
 
@@ -108,7 +110,7 @@ static double julian_date(int y, int m, int d) {
 
     /* lazy test to ensure gregorian calendar */
     if (y < 1583) {
-       FG_LOG( FG_EVENT, FG_ALERT, 
+       SG_LOG( SG_EVENT, SG_ALERT, 
                "WHOOPS! Julian dates only valid for 1582 oct 15 or later" );
     }
 
@@ -243,7 +245,7 @@ static void fgSunPositionGST(double gst, double *lon, double *lat) {
 // update the cur_time_params structure with the current sun position
 void fgUpdateSunPos( void ) {
     fgLIGHT *l;
-    FGViewerRPH *v;
+    FGViewer *v;
     sgVec3 nup, nsun;
     Point3D p, rel_sunpos;
     double dot, east_dot;
@@ -258,10 +260,10 @@ void fgUpdateSunPos( void ) {
 
     l = &cur_light_params;
     SGTime *t = globals->get_time_params();
-    v = (FGViewerRPH *)globals->get_current_view();
+    v = globals->get_current_view();
 
-    FG_LOG( FG_EVENT, FG_INFO, "  Updating Sun position" );
-    FG_LOG( FG_EVENT, FG_INFO, "  Gst = " << t->getGst() );
+    SG_LOG( SG_EVENT, SG_INFO, "  Updating Sun position" );
+    SG_LOG( SG_EVENT, SG_INFO, "  Gst = " << t->getGst() );
 
     fgSunPositionGST(t->getGst(), &l->sun_lon, &sun_gd_lat);
 
@@ -270,8 +272,8 @@ void fgUpdateSunPos( void ) {
     p = Point3D( l->sun_lon, l->sun_gc_lat, sl_radius );
     l->fg_sunpos = sgPolarToCart3d(p);
 
-    FG_LOG( FG_EVENT, FG_INFO, "    t->cur_time = " << t->get_cur_time() );
-    FG_LOG( FG_EVENT, FG_INFO, 
+    SG_LOG( SG_EVENT, SG_INFO, "    t->cur_time = " << t->get_cur_time() );
+    SG_LOG( SG_EVENT, SG_INFO, 
            "    Sun Geodetic lat = " << sun_gd_lat
            << " Geocentric lat = " << l->sun_gc_lat );
 
@@ -298,14 +300,14 @@ void fgUpdateSunPos( void ) {
     //      << nsun[2] << endl;
 
     l->sun_angle = acos( sgScalarProductVec3 ( nup, nsun ) );
-    FG_LOG( FG_EVENT, FG_INFO, "sun angle relative to current location = "
+    SG_LOG( SG_EVENT, SG_INFO, "sun angle relative to current location = "
            << l->sun_angle );
     
     // calculate vector to sun's position on the earth's surface
     Point3D vp( v->get_view_pos()[0],
                v->get_view_pos()[1],
                v->get_view_pos()[2] );
-    rel_sunpos = l->fg_sunpos - ( vp + scenery.center );
+    rel_sunpos = l->fg_sunpos - ( vp + globals->get_scenery()->get_center() );
     sgSetVec3( to_sun, rel_sunpos.x(), rel_sunpos.y(), rel_sunpos.z() );
     // printf( "Vector to sun = %.2f %.2f %.2f\n",
     //         v->to_sun[0], v->to_sun[1], v->to_sun[2]);