]> git.mxchange.org Git - flightgear.git/commitdiff
Small cleanup of terrain radar
authortimoore <timoore>
Mon, 17 Mar 2008 08:47:31 +0000 (08:47 +0000)
committertimoore <timoore>
Mon, 17 Mar 2008 08:47:31 +0000 (08:47 +0000)
src/Instrumentation/agradar.cxx
src/Instrumentation/agradar.hxx
src/Instrumentation/rad_alt.cxx

index a1d29339037ccae7f5dda51416cf16702954faed..4666f0b19f254c8c719a9fc3fa8762b55703c705 100644 (file)
@@ -179,7 +179,7 @@ agRadar::setAntennaPos() {
 }
 
 void
-agRadar::setUserVec(int az, double el)
+agRadar::setUserVec(double az, double el)
 {
     float yaw   = _user_hdg_deg_node->getDoubleValue();
     float pitch = _user_pitch_deg_node->getDoubleValue();
@@ -197,15 +197,11 @@ agRadar::setUserVec(int az, double el)
 
     // and postrotate the orientation of the radar wrt the horizontal
     // local frame
-    hlTrans *= SGQuatd::fromYawPitchRollDeg(yaw, pitch, roll);
+    hlTrans *= SGQuatd::fromYawPitchRollDeg(yaw,
+                                            pitch_stab ? 0 :pitch,
+                                            roll_stab ? 0 : roll);
     hlTrans *= offset;
 
-    if (roll_stab)
-        hlTrans *= SGQuatd::fromYawPitchRollDeg(0, 0, -roll);  
-
-    if (pitch_stab)
-        hlTrans *= SGQuatd::fromYawPitchRollDeg(0, -pitch, 0);
-
     // now rotate the rotation vector back into the
     // earth centered frames coordinates
     SGVec3d angleaxis(1,0,0);
@@ -283,12 +279,11 @@ agRadar::update_terrain()
     _Instrument->setStringValue("status", status);
     _Instrument->setDoubleValue("limit-deg", az_limit);
     _Instrument->setBoolValue("heading-marker", hdg_mkr);
-
+    setUserPos();
+    setAntennaPos();
+    SGVec3d cartantennapos = getCartAntennaPos();
+    
     for(double brg = -az_limit; brg <= az_limit; brg += az_step){
-        setUserPos();
-        setAntennaPos();
-        SGVec3d cartantennapos = getCartAntennaPos();
-
         for(double elev = el_limit; elev >= - el_limit; elev -= el_step){
             setUserVec(brg, elev);
             SGVec3d nearestHit;
index abdf18e9ee4a16e34490f8c35b4a5e10bb94d03f..26907a7fd682df8c47bd313a8316f57d45a33d0f 100644 (file)
@@ -41,7 +41,7 @@ public:
     virtual void update (double dt);
 
     void setUserPos();
-    void setUserVec(int az, double el);
+    void setUserVec(double az, double el);
     void update_terrain();
     void setAntennaPos();
 
index 4d06bb95fd740ace15d656c664ed8390baf1383e..14186459cf7758e27246a0a1f4a6175879cc9991 100644 (file)
@@ -147,11 +147,11 @@ radAlt::update_altitude()
 
     _min_radalt = max_range;
 
-    for(double brg = -az_limit; brg <= az_limit; brg += az_step){
-        setUserPos();
-        setAntennaPos();
-        SGVec3d cartantennapos = getCartAntennaPos();
+    setUserPos();
+    setAntennaPos();
+    SGVec3d cartantennapos = getCartAntennaPos();
 
+    for(double brg = -az_limit; brg <= az_limit; brg += az_step){
         for(double elev = el_limit; elev >= - el_limit; elev -= el_step){
             setUserVec(brg, elev);