]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/kr_87.hxx
fix NAV receiver vs GPS bugs
[flightgear.git] / src / Instrumentation / kr_87.hxx
index cd047e9c4de41c7f8c2ec3398136c0e0c59855c3..e59beba7b729cc2b6a340f000a8b69ff95b84f13 100644 (file)
@@ -2,7 +2,7 @@
 //
 // Written by Curtis Olson, started June 2002.
 //
-// Copyright (C) 2002  Curtis L. Olson - curt@flightgear.org
+// Copyright (C) 2002  Curtis L. Olson - http://www.flightgear.org/~curt
 //
 // This program is free software; you can redistribute it and/or
 // modify it under the terms of the GNU General Public License as
@@ -16,7 +16,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.
 //
 // $Id$
 
 #include <Navaids/navlist.hxx>
 #include <Sound/morse.hxx>
 
+class SGSampleGroup;
 
 class FGKR_87 : public SGSubsystem
 {
     FGMorse morse;
 
-    SGPropertyNode *lon_node;
-    SGPropertyNode *lat_node;
-    SGPropertyNode *alt_node;
-    SGPropertyNode *bus_power;
-    SGPropertyNode *serviceable;
+    SGPropertyNode_ptr lon_node;
+    SGPropertyNode_ptr lat_node;
+    SGPropertyNode_ptr alt_node;
+    SGPropertyNode_ptr bus_power;
+    SGPropertyNode_ptr serviceable;
 
     bool need_update;
 
@@ -59,9 +60,7 @@ class FGKR_87 : public SGSubsystem
     double effective_range;
     double dist;
     double heading;
-    double x;
-    double y;
-    double z;
+    SGVec3d xyz;
     double goal_needle_deg;
     double et_flash_time;
 
@@ -106,6 +105,8 @@ class FGKR_87 : public SGSubsystem
     // internal periodic station search timer
     double _time_before_search_sec;
 
+    SGSharedPtr<SGSampleGroup> _sgr;
+
 public:
 
     FGKR_87( SGPropertyNode *node );
@@ -120,7 +121,7 @@ public:
     void search ();
 
     // internal values
-    inline string get_ident() const { return ident; }
+    inline const string& get_ident() const { return ident; }
     inline bool get_valid() const { return valid; }
     inline bool get_inrange() const { return inrange; }
     inline double get_stn_lon() const { return stn_lon; }