LIBS=""
dnl check for some default libraries
-AC_SEARCH_LIBS(cos, [fastm m])
+AC_SEARCH_LIBS(sqrt, [am ffm fm fastm m])
+AC_SEARCH_LIBS(ceil, m)
AC_SEARCH_LIBS(dlclose, dl)
base_LIBS="$LIBS"
sl_radius + get_Altitude() + climb );
// cout << "sea level radius (ft) = " << sl_radius << endl;
// cout << "(setto) sea level radius (ft) = " << get_Sea_level_radius() << endl;
+ _update_ground_elev_at_pos();
_set_Sea_level_radius( sl_radius * SG_METER_TO_FEET);
_set_Altitude( get_Altitude() + climb );
}
_set_Euler_Rates(0,0,0);
_set_Geocentric_Position( lat_geoc, get_Longitude(), sl_radius);
+ _update_ground_elev_at_pos();
_set_Sea_level_radius( sl_radius * SG_METER_TO_FEET);
}
sl_radius + get_Altitude() + climb );
// cout << "sea level radius (ft) = " << sl_radius << endl;
// cout << "(setto) sea level radius (ft) = " << get_Sea_level_radius() << endl;
+ _update_ground_elev_at_pos();
_set_Sea_level_radius( sl_radius * SG_METER_TO_FEET);
_set_Altitude( get_Altitude() + climb );
}
double lat, lon, alt;
sgCartToGeod(s->pos, &lat, &lon, &alt);
_set_Geodetic_Position(lat, lon, alt*M2FT);
+ _update_ground_elev_at_pos();
// UNUSED
//_set_Geocentric_Position(Glue::geod2geocLat(lat), lon, alt*M2FT);
_set_Geodetic_Position( lat, lon, alt );
_set_Sea_level_radius( sl_radius * SG_METER_TO_FEET );
- double alt_m = alt*SG_FEET_TO_METER;
- double groundlevel_m = get_groundlevel_m(lat, lon, alt_m);
- _set_Runway_altitude( groundlevel_m * SG_METER_TO_FEET );
+ _update_ground_elev_at_pos();
_set_sin_lat_geocentric( lat_geoc );
_set_cos_lat_geocentric( lat_geoc );
_set_Geodetic_Position( lat_geod, lon, alt );
_set_Sea_level_radius( sl_radius2 * SG_METER_TO_FEET );
- double alt_m = alt*SG_FEET_TO_METER;
- double groundlevel_m = get_groundlevel_m(lat_geod, lon, alt_m);
- _set_Runway_altitude( groundlevel_m * SG_METER_TO_FEET );
+ _update_ground_elev_at_pos();
_set_sin_lat_geocentric( lat_geoc );
_set_cos_lat_geocentric( lat_geoc );
_set_sin_cos_latitude( lat_geod );
}
+void FGInterface::_update_ground_elev_at_pos( void ) {
+ double lat = get_Latitude();
+ double lon = get_Longitude();
+ double alt_m = get_Altitude()*SG_FEET_TO_METER;
+ double groundlevel_m = get_groundlevel_m(lat, lon, alt_m);
+ _set_Runway_altitude( groundlevel_m * SG_METER_TO_FEET );
+}
// Extrapolate fdm based on time_offset (in usec)
void FGInterface::extrapolate( int time_offset ) {
void _busdump(void);
void _updateGeodeticPosition( double lat, double lon, double alt );
void _updateGeocentricPosition( double lat_geoc, double lon, double alt );
+ void _update_ground_elev_at_pos( void );
void _updateWeather( void );
inline void _set_Inertias( double m, double xx, double yy,
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE ) ;
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST ) ;
- double agl =
- current_aircraft.fdm_state->get_Altitude() * SG_FEET_TO_METER
- - cur_fdm_state->get_Runway_altitude_m();
+ double agl = current__view->getAltitudeASL_ft()*SG_FEET_TO_METER
+ - current__view->getSGLocation()->get_cur_elev_m();
- if ( agl > 50.0 ) {
+ if ( agl > 10.0 ) {
scene_nearplane = 10.0f;
scene_farplane = 120000.0f;
} else {