void
agRadar::update (double delta_time_sec)
{
- if ( ! _sim_init_done ) {
-
- if ( ! fgGetBool("sim/sceneryloaded", false) )
- return;
-
- _sim_init_done = true;
- }
+ if (!_sceneryLoaded->getBoolValue())
+ return;
if ( !_odg || ! _serviceable_node->getBoolValue() ) {
_Instrument->setStringValue("status","");
_time = 0.0;
-
update_terrain();
// wxRadarBg::update(delta_time_sec);
}
bool
agRadar::getMaterial(){
- if (globals->get_scenery()->get_elevation_m(hitpos, _elevation_m, &_material)){
+ const simgear::BVHMaterial* mat = 0;
+ if (globals->get_scenery()->get_elevation_m(hitpos, _elevation_m, &mat)){
//_ht_agl_ft = pos.getElevationFt() - _elevation_m * SG_METER_TO_FEET;
- if (_material) {
- const vector<string>& names = _material->get_names();
+ const SGMaterial* material = dynamic_cast<const SGMaterial*>(mat);
+ if (material) {
+ const std::vector<std::string>& names = material->get_names();
- _solid = _material->get_solid();
- _load_resistance = _material->get_load_resistance();
- _frictionFactor =_material->get_friction_factor();
- _bumpinessFactor = _material->get_bumpiness();
+ _solid = material->get_solid();
+ _load_resistance = material->get_load_resistance();
+ _frictionFactor = material->get_friction_factor();
+ _bumpinessFactor = material->get_bumpiness();
if (!names.empty())
- _mat_name = names[0].c_str();
+ _mat_name = names[0];
else
_mat_name = "";
double tilt = -2.5;
bool roll_stab = _rollStabNode->getBoolValue();
bool pitch_stab = _pitchStabNode->getBoolValue();
- //string status = "";
- const char* status;
+ const char* status = "";
bool hdg_mkr = true;
if (mode == 5){