1
0
Fork 0

- simplify namer/number handling

- consistent naming of members with underscore
This commit is contained in:
mfranz 2006-10-26 14:47:15 +00:00
parent d90922fe1e
commit 19f3ae5133
2 changed files with 19 additions and 51 deletions

View file

@ -58,6 +58,8 @@ adjust_range (double transmitter_elevation_ft, double aircraft_altitude_ft,
ADF::ADF (SGPropertyNode *node )
:
_name(node->getStringValue("name", "adf")),
_num(node->getIntValue("number", 0)),
_time_before_search_sec(0),
_last_frequency_khz(-1),
_transmitter_valid(false),
@ -66,41 +68,7 @@ ADF::ADF (SGPropertyNode *node )
_transmitter_range_nm(0),
_ident_count(0),
_last_ident_time(0),
_last_volume(-1),
name("adf"),
num(0)
{
int i;
for ( i = 0; i < node->nChildren(); ++i ) {
SGPropertyNode *child = node->getChild(i);
string cname = child->getName();
string cval = child->getStringValue();
if ( cname == "name" ) {
name = cval;
} else if ( cname == "number" ) {
num = child->getIntValue();
} else {
SG_LOG( SG_INSTR, SG_WARN, "Error in adf config logic" );
if ( name.length() ) {
SG_LOG( SG_INSTR, SG_WARN, "Section = " << name );
}
}
}
}
ADF::ADF ()
: _time_before_search_sec(0),
_last_frequency_khz(-1),
_transmitter_valid(false),
_transmitter_pos(SGGeod::fromDeg(0, 0)),
_transmitter_cart(0, 0, 0),
_transmitter_range_nm(0),
_ident_count(0),
_last_ident_time(0),
_last_volume(-1),
name("adf"),
num(0)
_last_volume(-1)
{
}
@ -112,9 +80,9 @@ void
ADF::init ()
{
string branch;
branch = "/instrumentation/" + name;
branch = "/instrumentation/" + _name;
SGPropertyNode *node = fgGetNode(branch.c_str(), num, true );
SGPropertyNode *node = fgGetNode(branch.c_str(), _num, true );
_longitude_node = fgGetNode("/position/longitude-deg", true);
_latitude_node = fgGetNode("/position/latitude-deg", true);
_altitude_node = fgGetNode("/position/altitude-ft", true);
@ -135,8 +103,8 @@ ADF::init ()
morse.init();
std::ostringstream temp;
temp << name << num;
adf_ident = temp.str();
temp << _name << _num;
_adf_ident = temp.str();
}
void
@ -212,7 +180,7 @@ ADF::update (double delta_time_sec)
_last_volume = volume;
SGSoundSample *sound;
sound = globals->get_soundmgr()->find( adf_ident );
sound = globals->get_soundmgr()->find( _adf_ident );
if ( sound != NULL )
sound->set_volume( volume );
else
@ -226,8 +194,8 @@ ADF::update (double delta_time_sec)
}
if ( _ident_count < 4 ) {
if ( !globals->get_soundmgr()->is_playing(adf_ident) ) {
globals->get_soundmgr()->play_once( adf_ident );
if ( !globals->get_soundmgr()->is_playing(_adf_ident) ) {
globals->get_soundmgr()->play_once( _adf_ident );
++_ident_count;
}
}
@ -235,7 +203,7 @@ ADF::update (double delta_time_sec)
_in_range_node->setBoolValue(false);
set_bearing(delta_time_sec, 90);
_ident_node->setStringValue("");
globals->get_soundmgr()->stop( adf_ident );
globals->get_soundmgr()->stop( _adf_ident );
}
}
@ -266,16 +234,16 @@ ADF::search (double frequency_khz, double longitude_rad,
_last_ident = ident;
_ident_node->setStringValue(ident.c_str());
if ( globals->get_soundmgr()->exists( adf_ident ) ) {
if ( globals->get_soundmgr()->exists( _adf_ident ) ) {
// stop is required! -- remove alone wouldn't stop immediately
globals->get_soundmgr()->stop( adf_ident );
globals->get_soundmgr()->remove( adf_ident );
globals->get_soundmgr()->stop( _adf_ident );
globals->get_soundmgr()->remove( _adf_ident );
}
SGSoundSample *sound;
sound = morse.make_ident( ident, LO_FREQUENCY );
sound->set_volume(_last_volume = 0);
globals->get_soundmgr()->add( sound, adf_ident );
globals->get_soundmgr()->add( sound, _adf_ident );
int offset = (int)(sg_random() * 30.0);
_ident_count = offset / 4;

View file

@ -64,6 +64,9 @@ private:
void search (double frequency, double longitude_rad,
double latitude_rad, double altitude_m);
string _name;
unsigned int _num;
SGPropertyNode_ptr _longitude_node;
SGPropertyNode_ptr _latitude_node;
SGPropertyNode_ptr _altitude_node;
@ -93,10 +96,7 @@ private:
int _ident_count;
time_t _last_ident_time;
double _last_volume;
string name;
int num;
string adf_ident;
string _adf_ident;
};