#include <simgear/compiler.h>
-#ifdef SG_HAVE_STD_INCLUDES
-# include <istream>
-#elif defined( SG_HAVE_NATIVE_SGI_COMPILERS )
-# include <iostream.h>
-#elif defined( __BORLANDC__ )
-# include <iostream>
-#else
-# include <istream.h>
-#endif
-
#include STL_STRING
#include <vector>
-#define NDEBUG // she don't work without it.
-#include <mk4.h>
-#include <mk4str.h>
-#undef NDEBUG
+// Forward declarations.
+class c4_Storage;
+class c4_View;
SG_USING_STD(string);
SG_USING_STD(vector);
-#if ! defined( SG_HAVE_NATIVE_SGI_COMPILERS )
-SG_USING_STD(istream);
-#endif
-
class FGRunway {
public:
- FGRunway();
- ~FGRunway();
+ FGRunway() {}
+ ~FGRunway() {}
};
-inline istream&
-operator >> ( istream& in, FGRunway& a )
-{
- int tmp;
-
- return in >> a.rwy_no >> a.lat >> a.lon >> a.heading >> a.length >> a.width
- >> a.surface_flags >> a.end1_flags >> tmp >> tmp >> a.end2_flags
- >> tmp >> tmp;
-}
-
-
class FGRunways {
private:
// "runway" is not changed if "apt" is not found.
bool search( const string& aptid, FGRunway* runway );
bool search( const string& aptid, const string& rwyno, FGRunway* runway );
+
+ // DCL - search for runway closest to desired heading in degrees
+ bool search( const string& aptid, const int hdg, FGRunway* runway );
+
+ // Return the runway number of the runway closest to a given heading
+ string search( const string& aptid, const int tgt_hdg );
+
FGRunway search( const string& aptid );
bool next( FGRunway* runway );
FGRunway next();