]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/UIUCModel/uiuc_wrapper.cpp
Reset: work with threaded OSG modes
[flightgear.git] / src / FDM / UIUCModel / uiuc_wrapper.cpp
index 74aae2460d7f68f647637108547d1131168d8ba2..47897560e644e1d9e919b437116e4b4c866dc62b 100644 (file)
  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.
+
  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 or view http://www.gnu.org/copyleft/gpl.html.
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
 **********************************************************************/
 
 #ifdef HAVE_CONFIG_H
 #  include <config.h>
 #endif
 
+#include <iostream>
+#include <cstring>
+
 #include <simgear/compiler.h>
 #include <simgear/misc/sg_path.hxx>
-#include <Aircraft/aircraft.hxx>
 #include <Main/fg_props.hxx>
 
 #include "uiuc_aircraft.h"
-#include "uiuc_aircraftdir.h"
 #include "uiuc_coefficients.h"
 #include "uiuc_getwind.h"
 #include "uiuc_engine.h"
 //#include "uiuc_network.h"
 #include "uiuc_get_flapper.h"
 
-SG_USING_STD(cout);
-SG_USING_STD(endl);
-
 extern "C" void uiuc_initial_init ();
 extern "C" void uiuc_defaults_inits ();
 extern "C" void uiuc_vel_init ();
@@ -119,8 +116,7 @@ extern "C" void uiuc_record_routine(double dt);
 extern "C" void uiuc_network_recv_routine();
 extern "C" void uiuc_network_send_routine();
 
-AIRCRAFT *aircraft_ = new AIRCRAFT;
-AIRCRAFTDIR *aircraftdir_ = new AIRCRAFTDIR;
+AIRCRAFT *aircraft_ = 0;
 
 // SendArray testarray(4950);
 
@@ -163,6 +159,9 @@ void uiuc_initial_init ()
 
 void uiuc_defaults_inits ()
 {
+  if (aircraft_ == 0)
+    aircraft_ = new AIRCRAFT;
+
   // set defaults and initialize (called once from uiuc_init_2_wrapper)
 
   //fog inits 
@@ -195,7 +194,6 @@ void uiuc_defaults_inits ()
   W_body_init_true = false;
   trim_case_2 = false;
   use_uiuc_network = false;
-  old_flap_routine = false;
   icing_demo = false;
   outside_control = false;
   set_Long_trim = false;
@@ -270,7 +268,9 @@ void uiuc_defaults_inits ()
   demo_eps_pitch_input = false;
   tactilefadef = false;
   demo_ap_pah_on = false;
-  demo_ap_Theta_ref_deg = false;
+  demo_ap_alh_on = false;
+  demo_ap_Theta_ref = false;
+  demo_ap_alt_ref = false;
   demo_tactile = false;
   demo_ice_tail = false;
   demo_ice_left = false;
@@ -281,16 +281,17 @@ void uiuc_defaults_inits ()
   Dx_cg = 0.0;
   Dy_cg = 0.0;
   Dz_cg = 0.0;
+  ap_pah_on = 0;
+  ap_alh_on = 0;
 
+}
 
+void uiuc_vel_init ()
+{
   // Calculates the local velocity (V_north, V_east, V_down) from the body
   // velocities.
   // Called from uiuc_local_vel_init which is called from ls_step.
   // Used during initialization (while Simtime=0)
-}
-
-void uiuc_vel_init ()
-{
   if (U_body_init_true && V_body_init_true && W_body_init_true)
     {
   double det_T_l_to_b, cof11, cof12, cof13, cof21, cof22, cof23, cof31, cof32, cof33;
@@ -312,16 +313,16 @@ void uiuc_vel_init ()
 
   V_east = V_east_rel_ground + OMEGA_EARTH*Sea_level_radius*cos(Lat_geocentric);
     }
-  // Initializes the UIUC aircraft model.
-  // Called once from uiuc_init_2_wrapper
 }
 
 void uiuc_init_aeromodel ()
 {
+  // Initializes the UIUC aircraft model.
+  // Called once from uiuc_init_2_wrapper
   SGPath path(globals->get_fg_root());
-  path.append(aircraft_dir);
+  path.append(fgGetString("/sim/aircraft-dir"));
   path.append("aircraft.dat");
-  cout << "We are using "<< path.str() << endl;
+  std::cout << "We are using "<< path.str() << std::endl;
   uiuc_initializemaps(); // Initialize the <string,int> maps
   uiuc_menu(path.str());   // Read the specified aircraft file 
 }
@@ -483,12 +484,12 @@ void uiuc_record_routine(double dt)
 void uiuc_network_recv_routine()
 {
   //if (use_uiuc_network)
-    //uiuc_network(1);
+  //  uiuc_network(1);
 }
 
 void uiuc_network_send_routine()
 {
   //if (use_uiuc_network)
-    //uiuc_network(2);
+  //  uiuc_network(2);
 }
 //end uiuc_wrapper.cpp