]> git.mxchange.org Git - flightgear.git/blobdiff - src/Network/opengc.hxx
Merge branch 'next' of gitorious.org:fg/flightgear into next
[flightgear.git] / src / Network / opengc.hxx
index e22871d06b926da071c9741f742d0455f61d4e19..6371e1d0ae98bf91f3e4a2ac0fe313c22cdff95b 100644 (file)
@@ -19,7 +19,7 @@
 //
 // 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 
 
 
 #include <simgear/compiler.h>
 
-#include STL_STRING
+#include <string>
 
-#include <FDM/flight.hxx>
 #include <Main/fg_props.hxx>
 
 #include "protocol.hxx"
 #include "opengc_data.hxx"
 
-class FGOpenGC : public FGProtocol, public FGInterface {
+class FlightProperties;
+
+class FGOpenGC : public FGProtocol
+{
 
     ogcFGData buf;
-    int length;
+    FlightProperties* fdm;
+    
+    // Environment
+    SGPropertyNode_ptr press_node;
+    SGPropertyNode_ptr temp_node;
+    SGPropertyNode_ptr wind_dir_node;
+    SGPropertyNode_ptr wind_speed_node;
+    SGPropertyNode_ptr magvar_node;
+    
+    // Position on the Geod
+    SGPropertyNode_ptr p_latitude;
+    SGPropertyNode_ptr p_longitude;
+    SGPropertyNode_ptr p_elev_node;
+    //SGPropertyNode_ptr p_altitude;
+    SGPropertyNode_ptr p_altitude_agl;
     
-    SGPropertyNode *press_node;
-    SGPropertyNode *temp_node;
-    SGPropertyNode *wind_dir_node;
-    SGPropertyNode *wind_speed_node;
-    SGPropertyNode *epr0_node;
+    // Orientation
+    SGPropertyNode_ptr p_pitch;
+    SGPropertyNode_ptr p_bank;
+    SGPropertyNode_ptr p_heading;
+    SGPropertyNode_ptr p_yaw;
+    SGPropertyNode_ptr p_yaw_rate;
+    
+    // Flight Parameters
+    SGPropertyNode_ptr vel_kcas;
+    SGPropertyNode_ptr p_vvi;
+    SGPropertyNode_ptr p_mach;
     
     // Control surfaces
-    SGPropertyNode *p_left_aileron;
-    SGPropertyNode *p_right_aileron;
-    SGPropertyNode *p_elevator;
-    SGPropertyNode *p_elevator_trim;
-    SGPropertyNode *p_rudder;
-    SGPropertyNode *p_flaps;
-    SGPropertyNode *p_flaps_cmd;
+    SGPropertyNode_ptr p_left_aileron;
+    SGPropertyNode_ptr p_right_aileron;
+    SGPropertyNode_ptr p_elevator;
+    SGPropertyNode_ptr p_elevator_trim;
+    SGPropertyNode_ptr p_rudder;
+    SGPropertyNode_ptr p_flaps;
+    SGPropertyNode_ptr p_flaps_cmd;
+    
+    // GEAR System
+    SGPropertyNode_ptr p_park_brake;
+    
+    // Engines
+    SGPropertyNode_ptr egt0_node;
+    SGPropertyNode_ptr egt1_node;
+    SGPropertyNode_ptr egt2_node;
+    SGPropertyNode_ptr egt3_node;
+    
+    SGPropertyNode_ptr epr0_node;
+    SGPropertyNode_ptr epr1_node;
+    SGPropertyNode_ptr epr2_node;
+    SGPropertyNode_ptr epr3_node;
+    
+    SGPropertyNode_ptr n10_node;
+    SGPropertyNode_ptr n11_node;
+    SGPropertyNode_ptr n12_node;
+    SGPropertyNode_ptr n13_node;
+    
+    SGPropertyNode_ptr n20_node;
+    SGPropertyNode_ptr n21_node;
+    SGPropertyNode_ptr n22_node;
+    SGPropertyNode_ptr n23_node;
+    
+    SGPropertyNode_ptr oil_temp0;
+    SGPropertyNode_ptr oil_temp1;
+    SGPropertyNode_ptr oil_temp2;
+    SGPropertyNode_ptr oil_temp3;
+   
+    // Fuel System
+    SGPropertyNode_ptr tank0_node;
+    SGPropertyNode_ptr tank1_node;
+    SGPropertyNode_ptr tank2_node;
+    SGPropertyNode_ptr tank3_node;
+    SGPropertyNode_ptr tank4_node;
+    SGPropertyNode_ptr tank5_node;
+    SGPropertyNode_ptr tank6_node;
+    SGPropertyNode_ptr tank7_node;
+    // Boost pumps; Center tank has only override pumps; boosts are in the
+    // four main wing tanks 1->4
+//    SGPropertyNode_ptr boost1_node;
+//    SGPropertyNode_ptr boost2_node;
+//    SGPropertyNode_ptr boost3_node;
+//    SGPropertyNode_ptr boost4_node;
+//    SGPropertyNode_ptr boost5_node;
+//    SGPropertyNode_ptr boost6_node;
+//    SGPropertyNode_ptr boost7_node;
+//    SGPropertyNode_ptr boost8_node;
+    // Override pumps
+//    SGPropertyNode_ptr ovride0_node;
+//    SGPropertyNode_ptr ovride1_node;
+//    SGPropertyNode_ptr ovride2_node;
+//    SGPropertyNode_ptr ovride3_node;
+//    SGPropertyNode_ptr ovride4_node;
+//    SGPropertyNode_ptr ovride5_node;
+    // X_Feed valves
+//    SGPropertyNode_ptr x_feed0_node;
+//    SGPropertyNode_ptr x_feed1_node;
+//    SGPropertyNode_ptr x_feed2_node;
+//    SGPropertyNode_ptr x_feed3_node;
     
     // Aero numbers
-    SGPropertyNode *p_alphadot;
-    SGPropertyNode *p_betadot;
+    SGPropertyNode_ptr p_alphadot;
+    SGPropertyNode_ptr p_betadot;
 
 public:
 
@@ -74,7 +157,7 @@ public:
     // close the channel
     bool close();
 
-    void collect_data( const FGInterface *fdm, ogcFGData *data );
+    void collect_data(ogcFGData *data );
 };
 
 #endif // _FG_OPENGC_HXX