]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/viewer_rph.cxx
Fixed a problem with autodetecting if we need to draw our own mouse cursor
[flightgear.git] / src / Main / viewer_rph.cxx
index f900abfe4e8c98ee22ab2c41b32c42939c000338..53128e7ff1387b5cc939d6c15663bc194c97b858 100644 (file)
 // Constructor
 FGViewerRPH::FGViewerRPH( void )
 {
+    set_reverse_view_offset(false);
+#ifndef USE_FAST_VIEWROT
+    // This never changes -- NHV
+    LARC_TO_SSG[0][0] = 0.0; 
+    LARC_TO_SSG[0][1] = 1.0; 
+    LARC_TO_SSG[0][2] = -0.0; 
+    LARC_TO_SSG[0][3] = 0.0; 
+
+    LARC_TO_SSG[1][0] = 0.0; 
+    LARC_TO_SSG[1][1] = 0.0; 
+    LARC_TO_SSG[1][2] = 1.0; 
+    LARC_TO_SSG[1][3] = 0.0;
+       
+    LARC_TO_SSG[2][0] = 1.0; 
+    LARC_TO_SSG[2][1] = -0.0; 
+    LARC_TO_SSG[2][2] = 0.0; 
+    LARC_TO_SSG[2][3] = 0.0;
+       
+    LARC_TO_SSG[3][0] = 0.0; 
+    LARC_TO_SSG[3][1] = 0.0; 
+    LARC_TO_SSG[3][2] = 0.0; 
+    LARC_TO_SSG[3][3] = 1.0; 
+#endif // USE_FAST_VIEWROT
 }
 
 
@@ -81,45 +104,6 @@ inline static void fgMakeViewRot( sgMat4 dst, const sgMat4 m1, const sgMat4 m2 )
 #endif
 
 
-// Initialize a view structure
-void FGViewerRPH::init( void ) {
-    set_dirty();
-
-    FG_LOG( FG_VIEW, FG_INFO, "Initializing View parameters" );
-
-    view_offset = goal_view_offset =
-       globals->get_options()->get_default_view_offset();
-    sgSetVec3( pilot_offset, 0.0, 0.0, 0.0 );
-
-    globals->get_options()->set_win_ratio( globals->get_options()->get_xsize() /
-                                          globals->get_options()->get_ysize()
-                                          );
-
-#ifndef USE_FAST_VIEWROT
-    // This never changes -- NHV
-    LARC_TO_SSG[0][0] = 0.0; 
-    LARC_TO_SSG[0][1] = 1.0; 
-    LARC_TO_SSG[0][2] = -0.0; 
-    LARC_TO_SSG[0][3] = 0.0; 
-
-    LARC_TO_SSG[1][0] = 0.0; 
-    LARC_TO_SSG[1][1] = 0.0; 
-    LARC_TO_SSG[1][2] = 1.0; 
-    LARC_TO_SSG[1][3] = 0.0;
-       
-    LARC_TO_SSG[2][0] = 1.0; 
-    LARC_TO_SSG[2][1] = -0.0; 
-    LARC_TO_SSG[2][2] = 0.0; 
-    LARC_TO_SSG[2][3] = 0.0;
-       
-    LARC_TO_SSG[3][0] = 0.0; 
-    LARC_TO_SSG[3][1] = 0.0; 
-    LARC_TO_SSG[3][2] = 0.0; 
-    LARC_TO_SSG[3][3] = 1.0; 
-#endif // USE_FAST_VIEWROT
-}
-
-
 #define USE_FAST_LOCAL
 #ifdef USE_FAST_LOCAL
 inline static void fgMakeLOCAL( sgMat4 dst, const double Theta,
@@ -193,12 +177,12 @@ void FGViewerRPH::update() {
     tmp = sgPolarToCart3d(p);
     sgdSetVec3( abs_view_pos, tmp[0], tmp[1], tmp[2] );
 
+    // view_pos = abs_view_pos - scenery.center;
     sgdVec3 sc;
     sgdSetVec3( sc, scenery.center.x(), scenery.center.y(), scenery.center.z());
     sgdVec3 vp;
     sgdSubVec3( vp, abs_view_pos, sc );
     sgSetVec3( view_pos, vp );
-    // view_pos = abs_view_pos - scenery.center;
 
     FG_LOG( FG_VIEW, FG_DEBUG, "sea level radius = " << sea_level_radius );
     FG_LOG( FG_VIEW, FG_DEBUG, "Polar view pos = " << p );
@@ -206,7 +190,7 @@ void FGViewerRPH::update() {
            << abs_view_pos[0] << ","
            << abs_view_pos[1] << ","
            << abs_view_pos[2] );
-    FG_LOG( FG_VIEW, FG_DEBUG, "Relative view pos = "
+    FG_LOG( FG_VIEW, FG_DEBUG, "(RPH) Relative view pos = "
            << view_pos[0] << "," << view_pos[1] << "," << view_pos[2] );
 
     // code to calculate LOCAL matrix calculated from Phi, Theta, and
@@ -292,8 +276,9 @@ void FGViewerRPH::update() {
     // cout << "VIEW_OFFSET matrix" << endl;
     // print_sgMat4( VIEW_OFFSET );
     sgXformVec3( view_forward, forward, VIEW_OFFSET );
-    // cout << "view_forward = " << view_forward[0] << ","
-    //      << view_forward[1] << "," << view_forward[2] << endl;
+    FG_LOG( FG_VIEW, FG_DEBUG, "(RPH) view forward = "
+           << view_forward[0] << "," << view_forward[1] << ","
+           << view_forward[2] );
        
     // VIEW_ROT = LARC_TO_SSG * ( VIEWo * VIEW_OFFSET )
 #ifdef USE_FAST_VIEWROT
@@ -319,8 +304,8 @@ void FGViewerRPH::update() {
     // THIS IS THE EXPERIMENTAL VIEWING ANGLE SHIFTER
     // THE MAJORITY OF THE WORK IS DONE IN GUI.CXX
     // this in gui.cxx for now just testing
-    extern float quat_mat[4][4];
-    sgPreMultMat4( VIEW, quat_mat);
+    extern float GuiQuat_mat[4][4];
+    sgPreMultMat4( VIEW, GuiQuat_mat);
     // !!!!!!!!!! testing      
 
     // Given a vector pointing straight down (-Z), map into onto the