//
// 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$
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
#include <simgear/compiler.h>
-#include STL_STRING
+#include <string>
#include <simgear/debug/logstream.hxx>
+#include <simgear/math/sg_geodesy.hxx>
#include <Airports/runways.hxx>
#include <Airports/simple.hxx>
#include "navrecord.hxx"
#include "navdb.hxx"
-SG_USING_STD( string );
+using std::string;
// load and initialize the navigational databases
in >> skipeol;
in >> skipeol;
-
-#ifdef __MWERKS__
- char c = 0;
- while ( in.get(c) && c != '\0' ) {
- in.putback(c);
-#else
while ( ! in.eof() ) {
-#endif
-
FGNavRecord *r = new FGNavRecord;
in >> (*r);
if ( r->get_type() > 95 ) {
+ delete r;
break;
}
{
// Marker Beacon = 7,8,9
mkrlist->add( r );
- } else if ( r->get_type() == 12 ) {
- // DME=12
+ } else if ( r->get_type() == 12 || r->get_type() == 13) {
+ // DME with ILS=12; standalone DME=13
string str1( r->get_name() );
- unsigned int loc1= str1.find( "TACAN", 0 );
- unsigned int loc2 = str1.find( "VORTAC", 0 );
+ string::size_type loc1= str1.find( "TACAN", 0 );
+ string::size_type loc2 = str1.find( "VORTAC", 0 );
if( loc1 != string::npos || loc2 != string::npos ){
//cout << " name = " << r->get_name() ;
path.append( "Navaids/carrier_nav.dat" );
file = path.str();
- SG_LOG( SG_GENERAL, SG_ALERT, "opening file: " << path.str() );
+ SG_LOG( SG_GENERAL, SG_INFO, "opening file: " << path.str() );
sg_gzifstream incarrier( path.str() );
//incarrier >> skipeol;
//incarrier >> skipeol;
-#ifdef __MWERKS__
- char c = 0;
- while ( incarrier.get(c) && c != '\0' ) {
- incarrier.putback(c);
-#else
while ( ! incarrier.eof() ) {
-#endif
-
FGNavRecord *r = new FGNavRecord;
incarrier >> (*r);
carrierlist->add ( r );
path = globals->get_fg_root();
path.append( "Navaids/TACAN_freq.dat" );
- file = path.str();
- cout << file << endl;
- //
+ SG_LOG( SG_GENERAL, SG_INFO, "opening file: " << path.str() );
+
sg_gzifstream inchannel( path.str() );
if ( !inchannel.is_open() ) {
// skip first line
inchannel >> skipeol;
-
-#ifdef __MWERKS__
- char c = 0;
- while ( inchannel.get(c) && c != '\0' ) {
- in.putback(c);
-#else
while ( ! inchannel.eof() ) {
-#endif
-
FGTACANRecord *r = new FGTACANRecord;
inchannel >> (*r);
channellist->add ( r );
double threshold ) {
nav_map_type navmap = loclist->get_navaids();
- nav_map_iterator freq = navmap.begin();
+ nav_map_const_iterator freq = navmap.begin();
while ( freq != navmap.end() ) {
nav_list_type locs = freq->second;
- nav_list_iterator loc = locs.begin();
+ nav_list_const_iterator loc = locs.begin();
while ( loc != locs.end() ) {
string name = (*loc)->get_name();
string::size_type pos1 = name.find(" ");