]> git.mxchange.org Git - simgear.git/commitdiff
Changes for the native Irix CC compiler contributed by Erik Hofman.
authorcurt <curt>
Fri, 2 Mar 2001 22:52:04 +0000 (22:52 +0000)
committercurt <curt>
Fri, 2 Mar 2001 22:52:04 +0000 (22:52 +0000)
21 files changed:
SimGear.dsp
configure.in
simgear/Makefile.am
simgear/ephemeris/stardata.cxx
simgear/io/sg_binobj.cxx
simgear/metar/Makefile.am
simgear/metar/MetarReport.cpp
simgear/metar/MetarReport.h
simgear/metar/MetarStation.cpp
simgear/metar/MetarStation.h
simgear/misc/props.cxx
simgear/misc/props.hxx
simgear/misc/props_io.cxx
simgear/misc/props_test.cxx
simgear/sky/cloud.cxx
simgear/sky/moon.cxx
simgear/sky/oursun.cxx
simgear/sky/sphere.cxx
simgear/sky/stars.cxx
simgear/timing/sg_time.cxx
simgear/xml/easyxml.hxx

index e5103bbd4af6184c884551ffe01a8f840f6cb7ad..a4529ea4c1c47aab716e1ce2f171310ffe651549 100644 (file)
@@ -538,6 +538,175 @@ SOURCE=.\simgear\math\vector.cxx
 \r
 !ENDIF \r
 \r
+# End Source File\r
+# End Group\r
+# Begin Group "Lib_sgmetar"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\Antoi.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\Charcmp.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\Dcdmetar.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\Dcdmtrmk.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\Drvmetar.c\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\Fracpart.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\MetarReport.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\MetarStation.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\Prtdmetr.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\Stspack2.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\simgear\metar\Stspack3.cpp\r
+\r
+!IF  "$(CFG)" == "SimGear - Win32 Release"\r
+\r
+# PROP Intermediate_Dir "Release\Lib_sgmetar"\r
+\r
+!ELSEIF  "$(CFG)" == "SimGear - Win32 Debug"\r
+\r
+# PROP Intermediate_Dir "Debug\Lib_sgmetar"\r
+\r
+!ENDIF \r
+\r
 # End Source File\r
 # End Group\r
 # Begin Group "Lib_sgmisc"\r
index fbd3deb809170e0e3101a702958ae6bd5efd1644..083e3a5530b7adf575c09920c2bca9607960cad8 100644 (file)
@@ -273,6 +273,7 @@ AC_OUTPUT( \
        simgear/io/Makefile \
        simgear/magvar/Makefile \
        simgear/math/Makefile \
+       simgear/metar/Makefile \
        simgear/misc/Makefile \
        simgear/route/Makefile \
        simgear/screen/Makefile \
index baf586c7b7ca03692e34b69aabf7a8899943d3f2..7d62acec4ae8e5d0808a55ab654b9ba06648cfc8 100644 (file)
@@ -16,8 +16,8 @@ else
 ZLIB_DIRS = zlib
 endif
 
-METAR_DIRS =
-METAR_DIRS = metar
+METAR_DIRS =
+METAR_DIRS = metar
 
 EXTRA_DIST = version.h.in
 
index 3804988eb9dd7d03cb6fe89a37b0a8223c30181c..f153b5272c591d0f958b59bf875e71fb6ef9b5aa 100644 (file)
@@ -27,7 +27,7 @@
 
 #include "stardata.hxx"
 
-#ifdef _MSC_VER
+#if defined (_MSC_VER) || defined (FG_HAVE_NATIVE_SGI_COMPILERS)
   FG_USING_STD(getline);
 #endif
 
index 359ee4cf111516e3aebd42ecbc5d9b5c4015fd57..487ff9a1870b2d6c8a2cfd34e3765f7b37958358 100644 (file)
 
 FG_USING_STD( string );
 FG_USING_STD( vector );
+
+#if !defined (FG_HAVE_NATIVE_SGI_COMPILERS)
 FG_USING_STD( cout );
 FG_USING_STD( endl );
+#endif
 
 
 enum {
index b9ed36ea9b4146d91a883aa9184d27ef8de927a2..e6c07316ff2acc41bfe6091e3f22bb1fb9a4917a 100644 (file)
@@ -2,11 +2,13 @@ includedir = @includedir@/metar
 
 lib_LIBRARIES = libsgmetar.a
 
+include_HEADERS = MetarReport.h MetarStation.h 
+
 libsgmetar_a_SOURCES = \
        Antoi.cpp Charcmp.cpp Dcdmetar.cpp Dcdmtrmk.cpp Drvmetar.c \
        Fracpart.cpp Local.h Metar.h \
-       MetarReport.cpp MetarReport.h \
-       MetarStation.cpp MetarStation.h \
+       MetarReport.cpp \
+       MetarStation.cpp \
        Prtdmetr.cpp Stspack2.cpp Stspack3.cpp
 
 INCLUDES += -I$(top_srcdir)
index 3e3d7a5748d5df7c8c735b13ab646bf42d7831f9..c8a9b5a06b3b355a769e4fd5d41e2666473c4d24 100644 (file)
@@ -45,6 +45,21 @@ char *CMetarReport::StationID()
        return ((Decoded_METAR *)m_DecodedReport)->stnid;
 }
 
+int CMetarReport::Day() 
+{
+  return ((Decoded_METAR*)m_DecodedReport)->ob_date;
+}
+
+int CMetarReport::Hour() 
+{
+  return ((Decoded_METAR*)m_DecodedReport)->ob_hour;
+}
+
+int CMetarReport::Minutes() 
+{
+  return ((Decoded_METAR*)m_DecodedReport)->ob_minute;
+}
+
 int CMetarReport::WindDirection()
 {
        return ((Decoded_METAR *)m_DecodedReport)->winData.windDir;
@@ -253,7 +268,29 @@ operator << ( ostream& out, CMetarReport& p )
 }
 
 
+double CMetarReport::AirPressure() 
+{
+  return ((Decoded_METAR *)m_DecodedReport)->inches_altstng;
+}
+
 void CMetarReport::dump()
 {
        prtDMETR( (Decoded_METAR *)m_DecodedReport );
 }
+
+double CMetarReport::PrevailVisibility() {
+  //Values from each visibility field converted to meters.
+  double smiles;
+  double km;
+  double meters;
+  smiles = ((Decoded_METAR*) m_DecodedReport)->prevail_vsbySM  * 621 ;
+  km =  ((Decoded_METAR*) m_DecodedReport)->prevail_vsbyKM * 1000;
+  meters =  ((Decoded_METAR*) m_DecodedReport)->prevail_vsbyM;
+  
+  /* Return the smallest one. If the field is specified it should have been
+     set to MAX_INT */
+  if(smiles < km && smiles < meters) 
+    return smiles;
+  else 
+    return km < meters ? km : meters; 
+}
index 36c53c4b3bb0aee2994a15b7e31a3c986c03c1ff..0d5f4cd20a638d70a11734a6429af2796e6883a0 100644 (file)
@@ -38,6 +38,10 @@ public:
 
        char *StationID();
 
+       int Day();    // The day of month on which the report was issued.
+       int Hour();   // The hour of the day the report was issued.
+       int Minutes();  //Minutes past the hour of the report issue time.
+
        // Directions in degrees
        // Speed in knots
        // Altitude in meters
@@ -93,7 +97,9 @@ public:
        int VariableSkyLayerHeight();
 
        int SnowDepthInches();
+
+       double AirPressure();  //Return the air pressure in InchesHg.
+       double PrevailVisibility(); // Prevailing Visibility in meters.
        void dump();
 
 private:
index 22d4902711f528bf0c9ccdf4187d18bbbd6a7773..a4ac37078eea9508fddaba2326f698f6e6db452a 100644 (file)
@@ -4,19 +4,8 @@
 
 #include "MetarStation.h"
 #include <algorithm>
-#define TESTPROG
-#ifndef TESTPROG
-// options is too tightly integrated into FlightGear to use in a test program
-#include <Main/options.hxx>
-#endif
-#include <simgear/misc/fgpath.hxx>
-
-
-std::vector< CMetarStation *> METAR_Stations;
 
-int CMetarStation::initialized( CMetarStation::initialize() );
-
-std::string CMetarStation::tempName;
+#include <simgear/misc/fgpath.hxx>
 
 
 double CMetarStation::decodeDMS( char *b )
@@ -53,6 +42,9 @@ double CMetarStation::decodeDMS( char *b )
        return r * DEG_TO_RAD;
 }
 
+// Constructor
+// Decodes METAR station string of this format:
+// KPUB;72;464;Pueblo, Pueblo Memorial Airport;CO;United States;4;38-17-24N;104-29-54W;38-17-03N;104-29-43W;1440;1420;P
 
 CMetarStation::CMetarStation( 
        char *s )
@@ -82,6 +74,7 @@ CMetarStation::CMetarStation(
        double ulongitude = decodeDMS( s );
        s = t; t = strchr( s, ';' ); *t = 0; t++;
        double altitude = atoi( s ) * FEET_TO_METER;
+       m_altitude = altitude;
        s = t; t = strchr( s, ';' ); *t = 0; t++;
        double ualtitude = atoi( s ) * FEET_TO_METER;
        Point3D p( longitude, latitude, altitude+EQUATORIAL_RADIUS_M );
@@ -93,30 +86,47 @@ CMetarStation::CMetarStation(
        s = t;
        m_pFlag = s[0];
 }
-               // Constructor
-               // Decodes METAR station string of this format:
-               // KPUB;72;464;Pueblo, Pueblo Memorial Airport;CO;United States;4;38-17-24N;104-29-54W;38-17-03N;104-29-43W;1440;1420;P
+               
 
 
-int CMetarStation::initialize()
+void CMetarStation::dump()
+{
+       std::cout << "ID:" << ID();
+       std::cout << std::endl;
+       std::cout << "number:" << number();
+       std::cout << std::endl;
+       std::cout << "name:" << name();
+       std::cout << std::endl;
+       std::cout << "state:" << state();
+       std::cout << std::endl;
+       std::cout << "country:" << country();
+       std::cout << std::endl;
+       std::cout << "region:" << region();
+       std::cout << std::endl;
+       std::cout << "Location (cart):" << locationCart();
+       std::cout << std::endl;
+       std::cout << "Location (polar):" << locationPolar();
+       std::cout << std::endl;
+       std::cout << "Upper Location (cart):" << upperLocationCart();
+       std::cout << std::endl;
+       std::cout << "Upper Location (polar):" << upperLocationPolar();
+       std::cout << std::endl;
+       std::cout << "P flag:" << pFlag();
+       std::cout << std::endl;
+}
+
+
+
+CMetarStationDB::CMetarStationDB(const char * dbPath) 
 {
     // Read the list of metar stations, decoding and adding to global list.
 
     CMetarStation *m;
     char buf[256];
 
-    // Goto the Flight Gear installation directory
-#ifdef TESTPROG
-    //FGPath weatherPath( "/mkv/Build/FlightGear" );
-    FGPath weatherPath( ":Data" );
-#else
-    FGPath weatherPath( current_options.get_fg_root() );
-#endif
 
-    weatherPath.append( "Weather" );
-    weatherPath.append( "MetarStations" );
     // Open the metar station list
-    FILE *f = fopen( weatherPath.c_str(), "r" );
+    FILE *f = fopen( dbPath, "r" );
        
 
     if ( f != NULL ) {
@@ -125,89 +135,61 @@ int CMetarStation::initialize()
            //std::cout << buf << std::endl;
            m = new CMetarStation( buf );
            //m->dump();
-           METAR_Stations.push_back( m );
+           METAR_Stations[m->ID()]=( m );
        }
        
        // Close the list
        fclose( f );
        // std::cout << METAR_Stations.size() << " Metar stations" << std::endl;
-       return 1;
+       
     } else {
        // std::cout << "Could not open MetarStations file " << std::endl;
-       return 0;
+       
     }
 }
 
 
-int CMetarStation::sameName( CMetarStation *m )
-{
-       return m->m_ID == tempName;
-}
-
-
-CMetarStation *CMetarStation::find( std::string stationID )
-{
-       tempName = stationID;
-       CMetarStation **m = std::find_if( METAR_Stations.begin(), METAR_Stations.end(), sameName );
-       if ( m != METAR_Stations.end() ) return *m;
-       return 0;
-}
-
-double bestDist;
-CMetarStation *bestStation;
-Point3D curLocation;
 
-void findHelper( CMetarStation *s )
+CMetarStation * CMetarStationDB::find( std::string stationID )
 {
-       double dist = s->locationCart().distance3Dsquared( curLocation );
-       if (dist < bestDist )
-       {
-               bestDist = dist;
-               bestStation = s;
-       }
+    std::map<std::string,CMetarStation*>::iterator target;
+    target = METAR_Stations.find(stationID);
+  if(target!= METAR_Stations.end() )
+      return target->second;
+  else 
+      return NULL;
 }
 
-CMetarStation *CMetarStation::find( Point3D locationCart )
-{
-       bestDist = 99999999;
-       bestStation = 0;
-       curLocation = locationCart;
 
-       for_each( findHelper );
-       return bestStation;
-}
 
-
-void CMetarStation::for_each( void f( CMetarStation *s ) )
+CMetarStation * CMetarStationDB::find( Point3D locationCart )
 {
-       std::for_each( METAR_Stations.begin(), METAR_Stations.end(), f );
+    std::map<std::string,CMetarStation*>::iterator itr;
+    double bestDist = 99999999;
+    CMetarStation * bestStation;
+    Point3D curLocation = locationCart;
+    itr = METAR_Stations.begin(); 
+    while(itr != METAR_Stations.end()) 
+      {
+       double dist = itr->second->locationCart().distance3Dsquared( curLocation );
+       if (dist < bestDist )
+         {
+           bestDist = dist;
+           bestStation = itr->second;
+         }
+       itr++;
+      }
+    
+    return bestStation;
 }
 
 
-void CMetarStation::dump()
-{
-       std::cout << "ID:" << ID();
-       std::cout << std::endl;
-       std::cout << "number:" << number();
-       std::cout << std::endl;
-       std::cout << "name:" << name();
-       std::cout << std::endl;
-       std::cout << "state:" << state();
-       std::cout << std::endl;
-       std::cout << "country:" << country();
-       std::cout << std::endl;
-       std::cout << "region:" << region();
-       std::cout << std::endl;
-       std::cout << "Location (cart):" << locationCart();
-       std::cout << std::endl;
-       std::cout << "Location (polar):" << locationPolar();
-       std::cout << std::endl;
-       std::cout << "Upper Location (cart):" << upperLocationCart();
-       std::cout << std::endl;
-       std::cout << "Upper Location (polar):" << upperLocationPolar();
-       std::cout << std::endl;
-       std::cout << "P flag:" << pFlag();
-       std::cout << std::endl;
+CMetarStationDB::~CMetarStationDB() {
+    std::map<std::string,CMetarStation*>::iterator itr;
+    for(itr = METAR_Stations.begin(); itr != METAR_Stations.end(); itr++) 
+      {
+       delete itr->second;
+    }
 }
 
 std::ostream&
index 8169a9c9c9b9464f3236416fc66ba251b7446f2a..54b74de1643dd9fa87d043b937bd1c0a4d637594 100644 (file)
@@ -3,7 +3,7 @@
 // METAR station information is kept in this file:
 //   http://www.nws.noaa.gov/pub/stninfo/nsd_cccc.gz
 //   http://www.nws.noaa.gov/pub/stninfo/nsd_cccc.txt
-// This class looks for the file FG_ROOT/Weather/MetarStations instread of nsd_cccc.
+
 
 #ifndef _MetarStation_
 #define _MetarStation_
 #include <iostream>
 #include <string>
 #include <vector>
+#include <map>
 #include <simgear/math/point3d.hxx>
 #include <simgear/math/polar3d.hxx>
 //using namespace std;
 
+class CMetarStationDB;
+
 class CMetarStation
 {
        // Attributes
@@ -32,14 +35,12 @@ private:
        int m_altitude;
        int m_upperAltitude;
        char m_pFlag;
-
-       static int initialized;
-       static std::string tempName;
-
+       
        // Operations
 private:
        double decodeDMS( char *b );
-       static int sameName( CMetarStation *m );
+
+
 
        CMetarStation( 
                char *s );
@@ -57,6 +58,8 @@ public:
        std::string &state() { return m_state; }
        std::string &country() { return m_country; }
        int region() { return m_region; }
+       unsigned int Altitude() { //Returns the stations height above MSL in M.
+                       return m_altitude;}
        Point3D &locationPolar() { return m_locationPolar; }
        Point3D &upperLocationPolar() { return m_upperLocationPolar; }
        Point3D &locationCart() { return m_locationCart; }
@@ -67,9 +70,8 @@ public:
     friend std::ostream& operator << ( std::ostream&, const CMetarStation& );
        void dump();
        
-       static CMetarStation *find( std::string stationID );
-       static CMetarStation *find( Point3D locationCart );
-       static void for_each( void f( CMetarStation *s ) );
+
+       
 
 private:
        CMetarStation(
@@ -80,8 +82,23 @@ private:
                const CMetarStation &rObj );
                        // Assignment operator.  Not implemented.
 
-       static int initialize();
+       friend CMetarStationDB;
 };
 
 
+class CMetarStationDB 
+{
+
+ private:
+    std::string databasePath;  //The path of the database file.
+    std::map<std::string , CMetarStation *> METAR_Stations;
+    CMetarStation * bestStation;
+
+ public:
+     CMetarStation *find( std::string stationID );
+     CMetarStation * find( Point3D locationCart );
+     CMetarStationDB(const char * dbFile);
+     ~CMetarStationDB();
+};
+
 #endif
index d1d69678107e6270509ff4f2f5ee30b0140400c3..8405748cb8c1b906ced70822c4a1be128c1a9a24 100644 (file)
@@ -6,15 +6,23 @@
 //
 // $Id$
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <simgear/compiler.h>
+
 #include <stdio.h>
 #include <stdlib.h>
-#include <iostream>
+#include STL_IOSTREAM
 #include <algorithm>
 #include "props.hxx"
 
-using std::cerr;
-using std::endl;
-using std::sort;
+#if !defined(FG_HAVE_NATIVE_SGI_COMPILERS)
+FG_USING_STD(cerr);
+FG_USING_STD(endl);
+#endif
+FG_USING_STD(sort);
 
 
 \f
index a4579732bdc440c19230c4dc2c6fc3749c36b467..d49f181d9d0a9acb5696c4380c9aa7a751baa051 100644 (file)
@@ -9,16 +9,24 @@
 #ifndef __PROPS_HXX
 #define __PROPS_HXX
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <simgear/compiler.h>
+
 #include <stdio.h>
 
-#include <string>
+#include STL_STRING
 #include <vector>
-#include <iostream>
+#include STL_IOSTREAM
 
-using std::string;
-using std::vector;
-using std::istream;
-using std::ostream;
+FG_USING_STD(string);
+FG_USING_STD(vector);
+#if !defined(FG_HAVE_NATIVE_SGI_COMPILERS)
+FG_USING_STD(istream);
+FG_USING_STD(ostream);
+#endif
 
 #ifdef UNKNOWN
 #pragma warn A sloppy coder has defined UNKNOWN as a macro!
index a113db5e403dbef10a19cf7cbd24c9c8b6491333..b1294937501112e7e9e83942e11153d0d524a34d 100644 (file)
@@ -3,6 +3,8 @@
 #  include <config.h>
 #endif
 
+#include <simgear/compiler.h>
+
 #include <stdlib.h>            // atof() atoi()
 
 #include <simgear/debug/logstream.hxx>
 
 #include "props.hxx"
 
-#include <iostream>
-#include <fstream>
-#include <string>
+#include STL_IOSTREAM
+#if !defined(FG_HAVE_NATIVE_SGI_COMPILERS)
+#  include <fstream>
+#else
+#  include <fstream.h>
+#endif
+#include STL_STRING
 #include <vector>
 
-using std::istream;
-using std::ifstream;
-using std::ostream;
-using std::ofstream;
-using std::string;
-using std::vector;
+#if !defined(FG_HAVE_NATIVE_SGI_COMPILERS)
+FG_USING_STD(istream);
+FG_USING_STD(ifstream);
+FG_USING_STD(ostream);
+FG_USING_STD(ofstream);
+#endif
+FG_USING_STD(string);
+FG_USING_STD(vector);
 
 
 \f
index 9f1b0d4f0c6509b4091e5ab901ff7cd02111c7c7..3fa2333b1fdee3ff84f3bb52d600d54a3835ce35 100644 (file)
@@ -3,11 +3,19 @@
 // Test harness.
 ////////////////////////////////////////////////////////////////////////
 
-#include <iostream>
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <simgear/compiler.h>
+
+#include STL_IOSTREAM
 #include "props.hxx"
 
-using std::cout;
-using std::endl;
+#if !defined(FG_HAVE_NATIVE_SGI_COMPILERS)
+FG_USING_STD(cout);
+FG_USING_STD(endl);
+#endif
 
 
 \f
index 372360b9fa37a35881f1724846fddf7143975daf..78bde43cad524ff33a5940be86013e514a9a0fc8 100644 (file)
 #  include <config.h>
 #endif
 
+#include <simgear/compiler.h>
+
 #include <stdio.h>
-#include <iostream>
+#include STL_IOSTREAM
 
 #include <plib/sg.h>
 #include <plib/ssg.h>
index dffbb523b72274aa427dc77af3bc6e9acf993951..91049ef4b598f1d090b798a01026ab2e29a0176d 100644 (file)
@@ -32,7 +32,7 @@
 #include <simgear/compiler.h>
 
 #include <stdio.h>
-#include <iostream>
+#include STL_IOSTREAM
 
 #include <plib/sg.h>
 #include <plib/ssg.h>
index 2cac096c3124540c7757e824535af64796197dc1..a1c08306cb50317503aa8460c0229a77393fcac3 100644 (file)
 #  include <config.h>
 #endif
 
+#include <simgear/compiler.h>
+
 #include <stdio.h>
-#include <iostream>
+#include STL_IOSTREAM
 
 #include <plib/sg.h>
 #include <plib/ssg.h>
index 442c434135e1ab93e76e5b0b7eda480d837dc2fc..0993d6ad99251159c6fa6914eae010a7c89ae2bf 100644 (file)
 #include <plib/sg.h>
 #include <plib/ssg.h>
 
-FG_USING_NAMESPACE(std);
+#if !defined (FG_HAVE_NATIVE_SGI_COMPILERS)
+FG_USING_STD(cout);
+FG_USING_STD(endl);
+#endif
+
 
 // return a sphere object as an ssgBranch
 ssgBranch *ssgMakeSphere( ssgSimpleState *state, ssgColourArray *cl,
@@ -114,11 +118,11 @@ ssgBranch *ssgMakeSphere( ssgSimpleState *state, ssgColourArray *cl,
            new ssgVtxTable ( GL_TRIANGLE_STRIP, vl, nl, tl, cl );
 
        if ( vl->getNum() != nl->getNum() ) {
-           std::cout << "bad sphere1\n";
+           cout << "bad sphere1" << endl;
            exit(-1);
        }
        if ( vl->getNum() != tl->getNum() ) {
-           std::cout << "bad sphere2\n";
+           cout << "bad sphere2" << endl;
            exit(-1);
        }
        slice->setState( state );
index 3a72f4a186cb0638d09eccf9edab19ee6d2492a4..c96a2080b00886fe0d903d225d2a949d5ddd1cbc 100644 (file)
 #  include <config.h>
 #endif
 
+#include <simgear/compiler.h>
+
 #include <stdio.h>
-#include <iostream>
+#include STL_IOSTREAM
 
 #include <plib/sg.h>
 #include <plib/ssg.h>
 
 #include "stars.hxx"
 
+#if !defined (FG_HAVE_NATIVE_SGI_COMPILERS)
 FG_USING_STD(cout);
 FG_USING_STD(endl);
+#endif
 
 
 // Set up star rendering call backs
index 16d50d3ef3962056c2ee2884f14bca6b1b907c77..3ee4bc9dc3f48a37420f6bcf30a42cfb0608135c 100644 (file)
@@ -80,7 +80,7 @@ SGTime::SGTime( double lon, double lat, const string& root )
     // cout << "Current local time          = " 
     //      << asctime(localtime(&cur_time)) << endl;
 
-    if ( root != "" ) {
+    if ( root != (string)"" ) {
        FGPath zone( root );
        zone.append( "zone.tab" );
        FG_LOG( FG_EVENT, FG_DEBUG, "Reading timezone info from: "
index ec4d31b167bb99b92b82e7bb3f28acf53de548b8..6ed67cec2af9575af13e472e22938c618c15e7b0 100644 (file)
@@ -1,13 +1,21 @@
 #ifndef __EASYXML_HXX
 #define __EASYXML_HXX
 
-#include <iostream>
-#include <string>
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <simgear/compiler.h>
+
+#include STL_IOSTREAM
+#include STL_STRING
 #include <vector>
 
-using std::istream;
-using std::string;
-using std::vector;
+#if !defined(FG_HAVE_NATIVE_SGI_COMPILERS)
+FG_USING_STD(istream);
+#endif
+FG_USING_STD(string);
+FG_USING_STD(vector);
 
 
 /**