* src/ATC/atis.cxx
* src/ATC/atislist.cxx Patch from Melchior Franz: - merged the _MWERKS_ & generic #ifdef branch, only the loop head needs different treatment - commented out a "n >> skipeol" that is used in navlist.cxx to gobble the starting C++-style comment from default.nav.gz; atis inherited that, but there is no such comment in default.atis.gz, so the first data entry got thrown away - commented out min/max frequency exploration (-> only for debugging) - enhanced the constructor; the operator>> wouldn't have initialized all variables in case of a broken default.atis.gz entry, so we would have got a mixture of the broken one and the previous one; - move the automatic FGATIS variable into the loop, so that it gets cleanly constructed for every database entry. - don't access a.type before it is initialized - updated the commented out debug output statements; they were still designed for the FGNav class ...
This commit is contained in:
parent
ce4ea1d432
commit
412ca9a3d4
2 changed files with 39 additions and 34 deletions
|
@ -90,10 +90,21 @@ string GetPhoneticIdent(int i) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
FGATIS::FGATIS() {
|
FGATIS::FGATIS()
|
||||||
transmission = "";
|
: type(0),
|
||||||
display = false;
|
lon(0.0), lat(0.0),
|
||||||
displaying = false;
|
elev(0.0),
|
||||||
|
x(0.0), y(0.0), z(0.0),
|
||||||
|
freq(0),
|
||||||
|
range(0),
|
||||||
|
display(false),
|
||||||
|
displaying(false),
|
||||||
|
ident(""),
|
||||||
|
name(""),
|
||||||
|
transmission(""),
|
||||||
|
trans_ident(""),
|
||||||
|
atis_failed(false)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
|
|
|
@ -47,7 +47,6 @@ FGATISList::~FGATISList( void ) {
|
||||||
|
|
||||||
// load the navaids and build the map
|
// load the navaids and build the map
|
||||||
bool FGATISList::init( SGPath path ) {
|
bool FGATISList::init( SGPath path ) {
|
||||||
FGATIS a;
|
|
||||||
|
|
||||||
atislist.erase( atislist.begin(), atislist.end() );
|
atislist.erase( atislist.begin(), atislist.end() );
|
||||||
|
|
||||||
|
@ -59,55 +58,50 @@ bool FGATISList::init( SGPath path ) {
|
||||||
|
|
||||||
// read in each line of the file
|
// read in each line of the file
|
||||||
|
|
||||||
in >> skipeol;
|
// in >> skipeol;
|
||||||
in >> skipcomment;
|
in >> skipcomment;
|
||||||
|
|
||||||
|
// double min = 100000;
|
||||||
|
// double max = 0;
|
||||||
|
|
||||||
#ifdef __MWERKS__
|
#ifdef __MWERKS__
|
||||||
|
|
||||||
char c = 0;
|
char c = 0;
|
||||||
while ( in.get(c) && c != '\0' && a.get_type() != '[' ) {
|
while ( in.get(c) && c != '\0' ) {
|
||||||
in.putback(c);
|
in.putback(c);
|
||||||
in >> a;
|
|
||||||
if ( a.get_type() != '[' ) {
|
|
||||||
atislist[a.get_freq()].push_back(a);
|
|
||||||
}
|
|
||||||
in >> skipcomment;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
while ( ! in.eof() ) {
|
||||||
|
#endif
|
||||||
|
|
||||||
double min = 100000;
|
FGATIS a;
|
||||||
double max = 0;
|
|
||||||
|
|
||||||
while ( ! in.eof() && a.get_type() != '[' ) {
|
|
||||||
in >> a;
|
in >> a;
|
||||||
//cout << "id = " << a.get_ident() << endl;
|
if ( a.get_type() == '[' ) {
|
||||||
//cout << " type = " << a.get_type() << endl;
|
break;
|
||||||
//cout << " lon = " << a.get_lon() << endl;
|
}
|
||||||
//cout << " lat = " << a.get_lat() << endl;
|
|
||||||
//cout << " elev = " << a.get_elev() << endl;
|
/* cout << "id = " << a.GetIdent() << endl;
|
||||||
//cout << " freq = " << a.get_freq() << endl;
|
cout << " type = " << a.get_type() << endl;
|
||||||
//cout << " range = " << a.get_range() << endl;
|
cout << " lon = " << a.get_lon() << endl;
|
||||||
if ( a.get_type() != '[' ) {
|
cout << " lat = " << a.get_lat() << endl;
|
||||||
atislist[a.get_freq()].push_back(a);
|
cout << " elev = " << a.get_elev() << endl;
|
||||||
}
|
cout << " freq = " << a.get_freq() << endl;
|
||||||
|
cout << " range = " << a.get_range() << endl << endl; */
|
||||||
|
|
||||||
|
atislist[a.get_freq()].push_back(a);
|
||||||
in >> skipcomment;
|
in >> skipcomment;
|
||||||
|
|
||||||
if ( a.get_type() != 'N' ) {
|
/* if ( a.get_type() != 'N' ) {
|
||||||
if ( a.get_freq() < min ) {
|
if ( a.get_freq() < min ) {
|
||||||
min = a.get_freq();
|
min = a.get_freq();
|
||||||
}
|
}
|
||||||
if ( a.get_freq() > max ) {
|
if ( a.get_freq() > max ) {
|
||||||
max = a.get_freq();
|
max = a.get_freq();
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
}
|
}
|
||||||
|
|
||||||
// cout << "min freq = " << min << endl;
|
// cout << "min freq = " << min << endl;
|
||||||
// cout << "max freq = " << max << endl;
|
// cout << "max freq = " << max << endl;
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue