]> git.mxchange.org Git - flightgear.git/blobdiff - FDM/LaRCsim.cxx
Working on fixing up new fgFLIGHT class.
[flightgear.git] / FDM / LaRCsim.cxx
index 1f2d0694290d69e30158812abff53b05ed89cfb7..bd7570b4d673786cfc208e7d814b03ca608b6ec5 100644 (file)
@@ -262,179 +262,129 @@ int fgFlight_2_LaRCsim (fgFLIGHT& f) {
 
 // Convert from the LaRCsim generic_ struct to the fgFLIGHT struct
 int fgLaRCsim_2_Flight (fgFLIGHT& f) {
+    // Mass properties and geometry values
     f.set_Inertias( Mass, I_xx, I_yy, I_zz, I_xz );
+    f.set_Pilot_Location( Dx_pilot, Dy_pilot, Dz_pilot );
+    f.set_CG_Position( Dx_cg, Dy_cg, Dz_cg );
 
-    /*
-    f.get_Dx_pilot() =       Dx_pilot;
-    f.get_Dy_pilot() =       Dy_pilot;
-    f.get_Dz_pilot() =       Dz_pilot;
-    f.get_Dx_cg() =  Dx_cg;
-    f.get_Dy_cg() =  Dy_cg;
-    f.get_Dz_cg() =  Dz_cg;
-    f.get_F_X() =    F_X;
-    f.get_F_Y() =    F_Y;
-    f.get_F_Z() =    F_Z;
-    f.get_F_north() =        F_north;
-    f.get_F_east() = F_east;
-    f.get_F_down() = F_down;
-    f.get_F_X_aero() =       F_X_aero;
-    f.get_F_Y_aero() =       F_Y_aero;
-    f.get_F_Z_aero() =       F_Z_aero;
-    f.get_F_X_engine() =     F_X_engine;
-    f.get_F_Y_engine() =     F_Y_engine;
-    f.get_F_Z_engine() =     F_Z_engine;
-    f.get_F_X_gear() =       F_X_gear;
-    f.get_F_Y_gear() =       F_Y_gear;
-    f.get_F_Z_gear() =       F_Z_gear;
-    f.get_M_l_rp() = M_l_rp;
-    f.get_M_m_rp() = M_m_rp;
-    f.get_M_n_rp() = M_n_rp;
-    f.get_M_l_cg() = M_l_cg;
-    f.get_M_m_cg() = M_m_cg;
-    f.get_M_n_cg() = M_n_cg;
-    f.get_M_l_aero() =       M_l_aero;
-    f.get_M_m_aero() =       M_m_aero;
-    f.get_M_n_aero() =       M_n_aero;
-    f.get_M_l_engine() =     M_l_engine;
-    f.get_M_m_engine() =     M_m_engine;
-    f.get_M_n_engine() =     M_n_engine;
-    f.get_M_l_gear() =       M_l_gear;
-    f.get_M_m_gear() =       M_m_gear;
-    f.get_M_n_gear() =       M_n_gear;
-    f.get_V_dot_north() =    V_dot_north;
-    f.get_V_dot_east() =     V_dot_east;
-    f.get_V_dot_down() =     V_dot_down;
-    f.get_U_dot_body() =     U_dot_body;
-    f.get_V_dot_body() =     V_dot_body;
-    f.get_W_dot_body() =     W_dot_body;
-    f.get_A_X_cg() = A_X_cg;
-    f.get_A_Y_cg() = A_Y_cg;
-    f.get_A_Z_cg() = A_Z_cg;
-    f.get_A_X_pilot() =      A_X_pilot;
-    f.get_A_Y_pilot() =      A_Y_pilot;
-    f.get_A_Z_pilot() =      A_Z_pilot;
-    f.get_N_X_cg() = N_X_cg;
-    f.get_N_Y_cg() = N_Y_cg;
-    f.get_N_Z_cg() = N_Z_cg;
-    f.get_N_X_pilot() =      N_X_pilot;
-    f.get_N_Y_pilot() =      N_Y_pilot;
-    f.get_N_Z_pilot() =      N_Z_pilot;
-    f.get_P_dot_body() =     P_dot_body;
-    f.get_Q_dot_body() =     Q_dot_body;
-    f.get_R_dot_body() =     R_dot_body;
-    f.get_V_north() =        V_north;
-    f.get_V_east() = V_east;
-    f.get_V_down() = V_down;
-    f.get_V_north_rel_ground() =     V_north_rel_ground;
-    f.get_V_east_rel_ground() =      V_east_rel_ground;
-    f.get_V_down_rel_ground() =      V_down_rel_ground;
-    f.get_V_north_airmass() =        V_north_airmass;
-    f.get_V_east_airmass() = V_east_airmass;
-    f.get_V_down_airmass() = V_down_airmass;
-    f.get_V_north_rel_airmass() =    V_north_rel_airmass;
-    f.get_V_east_rel_airmass() =     V_east_rel_airmass;
-    f.get_V_down_rel_airmass() =     V_down_rel_airmass;
-    f.get_U_gust() = U_gust;
-    f.get_V_gust() = V_gust;
-    f.get_W_gust() = W_gust;
-    f.get_U_body() = U_body;
-    f.get_V_body() = V_body;
-    f.get_W_body() = W_body;
-    f.get_V_rel_wind() =     V_rel_wind;
-    f.get_V_true_kts() =     V_true_kts;
-    f.get_V_rel_ground() =   V_rel_ground;
-    f.get_V_inertial() =     V_inertial;
-    f.get_V_ground_speed() = V_ground_speed;
-    f.get_V_equiv() =        V_equiv;
-    f.get_V_equiv_kts() =    V_equiv_kts;
-    f.get_V_calibrated() =   V_calibrated;
-    f.get_V_calibrated_kts() =       V_calibrated_kts;
-    f.get_P_body() = P_body;
-    f.get_Q_body() = Q_body;
-    f.get_R_body() = R_body;
-    f.get_P_local() =        P_local;
-    f.get_Q_local() =        Q_local;
-    f.get_R_local() =        R_local;
-    f.get_P_total() =        P_total;
-    f.get_Q_total() =        Q_total;
-    f.get_R_total() =        R_total;
-    f.get_Phi_dot() =        Phi_dot;
-    f.get_Theta_dot() =      Theta_dot;
-    f.get_Psi_dot() =        Psi_dot;
-    f.get_Latitude_dot() =   Latitude_dot;
-    f.get_Longitude_dot() =  Longitude_dot;
-    f.get_Radius_dot() =     Radius_dot;
-    f.get_Lat_geocentric() = Lat_geocentric;
-    f.get_Lon_geocentric() = Lon_geocentric;
-    f.get_Radius_to_vehicle() =      Radius_to_vehicle;
-    f.get_Latitude() =       Latitude;
-    f.get_Longitude() =      Longitude;
-    f.get_Altitude() =       Altitude;
-    f.get_Phi() =    Phi;
-    f.get_Theta() =  Theta;
-    f.get_Psi() =    Psi;
-    f.get_T_local_to_body_11() =     T_local_to_body_11;
-    f.get_T_local_to_body_12() =     T_local_to_body_12;
-    f.get_T_local_to_body_13() =     T_local_to_body_13;
-    f.get_T_local_to_body_21() =     T_local_to_body_21;
-    f.get_T_local_to_body_22() =     T_local_to_body_22;
-    f.get_T_local_to_body_23() =     T_local_to_body_23;
-    f.get_T_local_to_body_31() =     T_local_to_body_31;
-    f.get_T_local_to_body_32() =     T_local_to_body_32;
-    f.get_T_local_to_body_33() =     T_local_to_body_33;
-    f.get_Gravity() =        Gravity;
-    f.get_Centrifugal_relief() =     Centrifugal_relief;
-    f.get_Alpha() =  Alpha;
-    f.get_Beta() =   Beta;
-    f.get_Alpha_dot() =      Alpha_dot;
-    f.get_Beta_dot() =       Beta_dot;
-    f.get_Cos_alpha() =      Cos_alpha;
-    f.get_Sin_alpha() =      Sin_alpha;
-    f.get_Cos_beta() =       Cos_beta;
-    f.get_Sin_beta() =       Sin_beta;
-    f.get_Cos_phi() =        Cos_phi;
-    f.get_Sin_phi() =        Sin_phi;
-    f.get_Cos_theta() =      Cos_theta;
-    f.get_Sin_theta() =      Sin_theta;
-    f.get_Cos_psi() =        Cos_psi;
-    f.get_Sin_psi() =        Sin_psi;
-    f.get_Gamma_vert_rad() = Gamma_vert_rad;
-    f.get_Gamma_horiz_rad() =        Gamma_horiz_rad;
-    f.get_Sigma() =  Sigma;
-    f.get_Density() =        Density;
-    f.get_V_sound() =        V_sound;
-    f.get_Mach_number() =    Mach_number;
-    f.get_Static_pressure() =        Static_pressure;
-    f.get_Total_pressure() = Total_pressure;
-    f.get_Impact_pressure() =        Impact_pressure;
-    f.get_Dynamic_pressure() =       Dynamic_pressure;
-    f.get_Static_temperature() =     Static_temperature;
-    f.get_Total_temperature() =      Total_temperature;
-    f.get_Sea_level_radius() =       Sea_level_radius;
-    f.get_Earth_position_angle() =   Earth_position_angle;
-    f.get_Runway_altitude() =        Runway_altitude;
-    f.get_Runway_latitude() =        Runway_latitude;
-    f.get_Runway_longitude() =       Runway_longitude;
-    f.get_Runway_heading() = Runway_heading;
-    f.get_Radius_to_rwy() =  Radius_to_rwy;
-    f.get_D_cg_north_of_rwy() =      D_cg_north_of_rwy;
-    f.get_D_cg_east_of_rwy() =       D_cg_east_of_rwy;
-    f.get_D_cg_above_rwy() = D_cg_above_rwy;
-    f.get_X_cg_rwy() =       X_cg_rwy;
-    f.get_Y_cg_rwy() =       Y_cg_rwy;
-    f.get_H_cg_rwy() =       H_cg_rwy;
-    f.get_D_pilot_north_of_rwy() =   D_pilot_north_of_rwy;
-    f.get_D_pilot_east_of_rwy() =    D_pilot_east_of_rwy;
-    f.get_D_pilot_above_rwy() =      D_pilot_above_rwy;
-    f.get_X_pilot_rwy() =    X_pilot_rwy;
-    f.get_Y_pilot_rwy() =    Y_pilot_rwy;
-    f.get_H_pilot_rwy() =    H_pilot_rwy;
-    */
-    return ( 0 );
+    // Forces
+    f.set_Forces_Body_Total( F_X, F_Y, F_Z );
+    f.set_Forces_Local_Total( F_north, F_east, F_down );
+    f.set_Forces_Aero( F_X_aero, F_Y_aero, F_Z_aero );
+    f.set_Forces_Engine( F_X_engine, F_Y_engine, F_Z_engine );
+    f.set_Forces_Gear( F_X_gear, F_Y_gear, F_Z_gear );
+
+    // Moments
+    f.set_Moments_Total_RP( M_l_rp, M_m_rp, M_n_rp );
+    f.set_Moments_Total_CG( M_l_cg, M_m_cg, M_n_cg );
+    f.set_Moments_Aero( M_l_aero, M_m_aero, M_n_aero );
+    f.set_Moments_Engine( M_l_engine, M_m_engine, M_n_engine );
+    f.set_Moments_Gear( M_l_gear, M_m_gear, M_n_gear );
+
+    // Accelerations
+    f.set_Accels_Local( V_dot_north, V_dot_east, V_dot_down );
+    f.set_Accels_Body( U_dot_body, V_dot_body, W_dot_body );
+    f.set_Accels_CG_Body( A_X_cg, A_Y_cg, A_Z_cg );
+    f.set_Accels_Pilot_Body( A_X_pilot, A_Y_pilot, A_Z_pilot );
+    f.set_Accels_CG_Body_N( N_X_cg, N_Y_cg, N_Z_cg );
+    f.set_Accels_Pilot_Body_N( N_X_pilot, N_Y_pilot, N_Z_pilot );
+    f.set_Accels_Omega( P_dot_body, Q_dot_body, R_dot_body );
+
+    // Velocities
+    f.set_Velocities_Local( V_north, V_east, V_down );
+    f.set_Velocities_Ground( V_north_rel_ground, V_east_rel_ground, 
+                            V_down_rel_ground );
+    f.set_Velocities_Local_Airmass( V_north_airmass, V_east_airmass,
+                                   V_down_airmass );
+    f.set_Velocities_Local_Rel_Airmass( V_north_rel_airmass, V_east_rel_airmass,
+                                       V_down_rel_airmass );
+    f.set_Velocities_Gust( U_gust, V_gust, W_gust );
+    f.set_Velocities_Wind_Body( U_body, V_body, W_body );
+
+    f.set_V_rel_wind( V_rel_wind );
+    f.set_V_true_kts( V_true_kts );
+    f.set_V_rel_ground( V_rel_ground );
+    f.set_V_inertial( V_inertial );
+    f.set_V_ground_speed( V_ground_speed );
+    f.set_V_equiv( V_equiv );
+    f.set_V_equiv_kts( V_equiv_kts );
+    f.set_V_calibrated( V_calibrated );
+    f.set_V_calibrated_kts( V_calibrated_kts );
+
+    f.set_Omega_Body( P_body, Q_body, R_body );
+    f.set_Omega_Local( P_local, Q_local, R_local );
+    f.set_Omega_Total( P_total, Q_total, R_total );
+    
+    f.set_Euler_Rates( Phi_dot, Theta_dot, Psi_dot );
+    f.set_Geocentric_Rates( Latitude_dot, Longitude_dot, Radius_dot );
+
+    // Positions
+    f.set_Geocentric_Position( Lat_geocentric, Lon_geocentric, 
+                              Radius_to_vehicle );
+    f.set_Geodetic_Position( Latitude, Longitude, Altitude );
+    f.set_Euler_Angles( Phi, Theta, Psi );
+
+    // Miscellaneous quantities
+    f.set_T_Local_to_Body(T_local_to_body_m);
+    f.set_Gravity( Gravity );
+    f.set_Centrifugal_relief( Centrifugal_relief );
+
+    f.set_Alpha( Alpha );
+    f.set_Beta( Beta );
+    f.set_Alpha_dot( Alpha_dot );
+    f.set_Beta_dot( Beta_dot );
+
+    f.set_Cos_alpha( Cos_alpha );
+    f.set_Sin_alpha( Sin_alpha );
+    f.set_Cos_beta( Cos_beta );
+    f.set_Sin_beta( Sin_beta );
+
+    f.set_Cos_phi( Cos_phi );
+    f.set_Sin_phi( Sin_phi );
+    f.set_Cos_theta( Cos_theta );
+    f.set_Sin_theta( Sin_theta );
+    f.set_Cos_psi( Cos_psi );
+    f.set_Sin_psi( Sin_psi );
+
+    f.set_Gamma_vert_rad( Gamma_vert_rad );
+    f.set_Gamma_horiz_rad( Gamma_horiz_rad );
+
+    f.set_Sigma( Sigma );
+    f.set_Density( Density );
+    f.set_V_sound( V_sound );
+    f.set_Mach_number( Mach_number );
+
+    f.set_Static_pressure( Static_pressure );
+    f.set_Total_pressure( Total_pressure );
+    f.set_Impact_pressure( Impact_pressure );
+    f.set_Dynamic_pressure( Dynamic_pressure );
+
+    f.set_Static_temperature( Static_temperature );
+    f.set_Total_temperature( Total_temperature );
+
+    f.set_Sea_level_radius( Sea_level_radius );
+    f.set_Earth_position_angle( Earth_position_angle );
+
+    f.set_Runway_altitude( Runway_altitude );
+    f.set_Runway_latitude( Runway_latitude );
+    f.set_Runway_longitude( Runway_longitude );
+    f.set_Runway_heading( Runway_heading );
+    f.set_Radius_to_rwy( Radius_to_rwy );
+
+    f.set_CG_Rwy_Local( D_cg_north_of_rwy, D_cg_east_of_rwy, D_cg_above_rwy );
+    f.set_CG_Rwy_Rwy( X_cg_rwy, Y_cg_rwy, H_cg_rwy );
+    f.set_Pilot_Rwy_Local( D_pilot_north_of_rwy, D_pilot_east_of_rwy, 
+                          D_pilot_above_rwy );
+    f.set_Pilot_Rwy_Rwy( X_pilot_rwy, Y_pilot_rwy, H_pilot_rwy );
+
+    return 0;
 }
 
 
 // $Log$
+// Revision 1.5  1998/12/03 04:25:02  curt
+// Working on fixing up new fgFLIGHT class.
+//
 // Revision 1.4  1998/12/03 01:16:37  curt
 // Converted fgFLIGHT to a class.
 //