Updates to JSBsim from Jon's CVS.
Massaging some names inside of SimGear.
This commit is contained in:
parent
9d47a64a09
commit
0ffa19cd32
28 changed files with 97 additions and 80 deletions
src
Cockpit
GUI
Main
Network
Scenery
Time
WeatherCM
|
@ -101,7 +101,7 @@ char*
|
||||||
get_formated_gmt_time( void )
|
get_formated_gmt_time( void )
|
||||||
{
|
{
|
||||||
static char buf[32];
|
static char buf[32];
|
||||||
FGTime *t = FGTime::cur_time_params;
|
SGTime *t = SGTime::cur_time_params;
|
||||||
const struct tm *p = t->getGmt();
|
const struct tm *p = t->getGmt();
|
||||||
sprintf( buf, "%d/%d/%4d %d:%02d:%02d",
|
sprintf( buf, "%d/%d/%4d %d:%02d:%02d",
|
||||||
p->tm_mon+1, p->tm_mday, 1900 + p->tm_year,
|
p->tm_mon+1, p->tm_mday, 1900 + p->tm_year,
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <Main/bfi.hxx>
|
#include <Main/bfi.hxx>
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ FG_USING_STD(map);
|
||||||
static char * panelGetTime ()
|
static char * panelGetTime ()
|
||||||
{
|
{
|
||||||
static char buf[1024]; // FIXME: not thread-safe
|
static char buf[1024]; // FIXME: not thread-safe
|
||||||
struct tm * t = FGTime::cur_time_params->getGmt();
|
struct tm * t = SGTime::cur_time_params->getGmt();
|
||||||
sprintf(buf, " %.2d:%.2d:%.2d",
|
sprintf(buf, " %.2d:%.2d:%.2d",
|
||||||
t->tm_hour, t->tm_min, t->tm_sec);
|
t->tm_hour, t->tm_min, t->tm_sec);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
|
@ -55,7 +55,6 @@
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/misc/fgpath.hxx>
|
#include <simgear/misc/fgpath.hxx>
|
||||||
#include <simgear/screen/screen-dump.hxx>
|
#include <simgear/screen/screen-dump.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
|
||||||
|
|
||||||
#include <Include/general.hxx>
|
#include <Include/general.hxx>
|
||||||
#include <Aircraft/aircraft.hxx>
|
#include <Aircraft/aircraft.hxx>
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
#include <simgear/ephemeris/ephemeris.hxx>
|
#include <simgear/ephemeris/ephemeris.hxx>
|
||||||
#include <simgear/math/fg_types.hxx>
|
#include <simgear/math/fg_types.hxx>
|
||||||
#include <simgear/misc/props.hxx>
|
#include <simgear/misc/props.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <Aircraft/aircraft.hxx>
|
#include <Aircraft/aircraft.hxx>
|
||||||
#include <FDM/UIUCModel/uiuc_aircraftdir.h>
|
#include <FDM/UIUCModel/uiuc_aircraftdir.h>
|
||||||
|
@ -377,7 +377,7 @@ FGBFI::setAircraftDir (const string &dir)
|
||||||
time_t
|
time_t
|
||||||
FGBFI::getTimeGMT ()
|
FGBFI::getTimeGMT ()
|
||||||
{
|
{
|
||||||
return FGTime::cur_time_params->get_cur_time();
|
return SGTime::cur_time_params->get_cur_time();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -391,12 +391,12 @@ FGBFI::setTimeGMT (time_t time)
|
||||||
// and solar system
|
// and solar system
|
||||||
current_options.set_time_offset(time);
|
current_options.set_time_offset(time);
|
||||||
current_options.set_time_offset_type(SG_TIME_GMT_ABSOLUTE);
|
current_options.set_time_offset_type(SG_TIME_GMT_ABSOLUTE);
|
||||||
FGTime::cur_time_params->init( cur_fdm_state->get_Longitude(),
|
SGTime::cur_time_params->init( cur_fdm_state->get_Longitude(),
|
||||||
cur_fdm_state->get_Latitude(),
|
cur_fdm_state->get_Latitude(),
|
||||||
current_options.get_fg_root(),
|
current_options.get_fg_root(),
|
||||||
current_options.get_time_offset(),
|
current_options.get_time_offset(),
|
||||||
current_options.get_time_offset_type() );
|
current_options.get_time_offset_type() );
|
||||||
FGTime::cur_time_params->update( cur_fdm_state->get_Longitude(),
|
SGTime::cur_time_params->update( cur_fdm_state->get_Longitude(),
|
||||||
cur_fdm_state->get_Latitude(),
|
cur_fdm_state->get_Latitude(),
|
||||||
cur_fdm_state->get_Altitude()
|
cur_fdm_state->get_Altitude()
|
||||||
* FEET_TO_METER );
|
* FEET_TO_METER );
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
#include <simgear/math/point3d.hxx>
|
#include <simgear/math/point3d.hxx>
|
||||||
#include <simgear/math/polar3d.hxx>
|
#include <simgear/math/polar3d.hxx>
|
||||||
#include <simgear/misc/fgpath.hxx>
|
#include <simgear/misc/fgpath.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <Aircraft/aircraft.hxx>
|
#include <Aircraft/aircraft.hxx>
|
||||||
#include <Airports/simple.hxx>
|
#include <Airports/simple.hxx>
|
||||||
|
@ -245,7 +245,7 @@ bool fgInitGeneral( void ) {
|
||||||
// Returns non-zero if a problem encountered.
|
// Returns non-zero if a problem encountered.
|
||||||
bool fgInitSubsystems( void ) {
|
bool fgInitSubsystems( void ) {
|
||||||
fgLIGHT *l = &cur_light_params;
|
fgLIGHT *l = &cur_light_params;
|
||||||
FGTime *t = FGTime::cur_time_params;
|
SGTime *t = SGTime::cur_time_params;
|
||||||
|
|
||||||
FG_LOG( FG_GENERAL, FG_INFO, "Initialize Subsystems");
|
FG_LOG( FG_GENERAL, FG_INFO, "Initialize Subsystems");
|
||||||
FG_LOG( FG_GENERAL, FG_INFO, "========== ==========");
|
FG_LOG( FG_GENERAL, FG_INFO, "========== ==========");
|
||||||
|
@ -454,7 +454,7 @@ bool fgInitSubsystems( void ) {
|
||||||
current_aircraft.fdm_state->get_Longitude(),
|
current_aircraft.fdm_state->get_Longitude(),
|
||||||
current_aircraft.fdm_state->get_Altitude() * FEET_TO_METER );
|
current_aircraft.fdm_state->get_Altitude() * FEET_TO_METER );
|
||||||
FGLocalWeatherDatabase::theFGLocalWeatherDatabase =
|
FGLocalWeatherDatabase::theFGLocalWeatherDatabase =
|
||||||
new FGLocalWeatherDatabase( position );
|
new FGLocalWeatherDatabase( position, current_options.get_fg_root() );
|
||||||
// cout << theFGLocalWeatherDatabase << endl;
|
// cout << theFGLocalWeatherDatabase << endl;
|
||||||
// cout << "visibility = "
|
// cout << "visibility = "
|
||||||
// << theFGLocalWeatherDatabase->getWeatherVisibility() << endl;
|
// << theFGLocalWeatherDatabase->getWeatherVisibility() << endl;
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
#include <simgear/constants.h>
|
#include <simgear/constants.h>
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/misc/fgpath.hxx>
|
#include <simgear/misc/fgpath.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <Aircraft/aircraft.hxx>
|
#include <Aircraft/aircraft.hxx>
|
||||||
#include <Autopilot/auto_gui.hxx>
|
#include <Autopilot/auto_gui.hxx>
|
||||||
|
@ -76,14 +76,14 @@
|
||||||
// Handle keyboard events
|
// Handle keyboard events
|
||||||
void GLUTkey(unsigned char k, int x, int y) {
|
void GLUTkey(unsigned char k, int x, int y) {
|
||||||
FGInterface *f;
|
FGInterface *f;
|
||||||
FGTime *t;
|
SGTime *t;
|
||||||
FGView *v;
|
FGView *v;
|
||||||
float fov, tmp;
|
float fov, tmp;
|
||||||
static bool winding_ccw = true;
|
static bool winding_ccw = true;
|
||||||
int speed;
|
int speed;
|
||||||
|
|
||||||
f = current_aircraft.fdm_state;
|
f = current_aircraft.fdm_state;
|
||||||
t = FGTime::cur_time_params;
|
t = SGTime::cur_time_params;
|
||||||
v = ¤t_view;
|
v = ¤t_view;
|
||||||
|
|
||||||
FG_LOG( FG_INPUT, FG_DEBUG, "Key hit = " << k );
|
FG_LOG( FG_INPUT, FG_DEBUG, "Key hit = " << k );
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
#include <simgear/math/fg_random.h>
|
#include <simgear/math/fg_random.h>
|
||||||
#include <simgear/misc/fgpath.hxx>
|
#include <simgear/misc/fgpath.hxx>
|
||||||
#include <simgear/sky/sky.hxx>
|
#include <simgear/sky/sky.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <Include/general.hxx>
|
#include <Include/general.hxx>
|
||||||
|
|
||||||
|
@ -276,7 +276,7 @@ void fgRenderFrame( void ) {
|
||||||
FGBFI::update();
|
FGBFI::update();
|
||||||
|
|
||||||
fgLIGHT *l = &cur_light_params;
|
fgLIGHT *l = &cur_light_params;
|
||||||
FGTime *t = FGTime::cur_time_params;
|
SGTime *t = SGTime::cur_time_params;
|
||||||
// FGView *v = ¤t_view;
|
// FGView *v = ¤t_view;
|
||||||
static double last_visibility = -9999;
|
static double last_visibility = -9999;
|
||||||
|
|
||||||
|
@ -428,7 +428,7 @@ void fgRenderFrame( void ) {
|
||||||
<< " lon = " << cur_fdm_state->get_Longitude()
|
<< " lon = " << cur_fdm_state->get_Longitude()
|
||||||
<< " lat = " << cur_fdm_state->get_Latitude() << endl;
|
<< " lat = " << cur_fdm_state->get_Latitude() << endl;
|
||||||
cout << " sun_rot = " << cur_light_params.sun_rotation
|
cout << " sun_rot = " << cur_light_params.sun_rotation
|
||||||
<< " gst = " << FGTime::cur_time_params->getGst() << endl;
|
<< " gst = " << SGTime::cur_time_params->getGst() << endl;
|
||||||
cout << " sun ra = " << ephem->getSunRightAscension()
|
cout << " sun ra = " << ephem->getSunRightAscension()
|
||||||
<< " sun dec = " << ephem->getSunDeclination()
|
<< " sun dec = " << ephem->getSunDeclination()
|
||||||
<< " moon ra = " << ephem->getMoonRightAscension()
|
<< " moon ra = " << ephem->getMoonRightAscension()
|
||||||
|
@ -440,7 +440,7 @@ void fgRenderFrame( void ) {
|
||||||
cur_fdm_state->get_Latitude(),
|
cur_fdm_state->get_Latitude(),
|
||||||
cur_fdm_state->get_Altitude() * FEET_TO_METER,
|
cur_fdm_state->get_Altitude() * FEET_TO_METER,
|
||||||
cur_light_params.sun_rotation,
|
cur_light_params.sun_rotation,
|
||||||
FGTime::cur_time_params->getGst(),
|
SGTime::cur_time_params->getGst(),
|
||||||
ephem->getSunRightAscension(),
|
ephem->getSunRightAscension(),
|
||||||
ephem->getSunDeclination(), 50000.0,
|
ephem->getSunDeclination(), 50000.0,
|
||||||
ephem->getMoonRightAscension(),
|
ephem->getMoonRightAscension(),
|
||||||
|
@ -607,7 +607,7 @@ void fgUpdateTimeDepCalcs(int multi_loop, int remainder) {
|
||||||
static fdm_state_list fdm_list;
|
static fdm_state_list fdm_list;
|
||||||
// FGInterface fdm_state;
|
// FGInterface fdm_state;
|
||||||
fgLIGHT *l = &cur_light_params;
|
fgLIGHT *l = &cur_light_params;
|
||||||
FGTime *t = FGTime::cur_time_params;
|
SGTime *t = SGTime::cur_time_params;
|
||||||
// FGView *v = ¤t_view;
|
// FGView *v = ¤t_view;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -722,7 +722,7 @@ static const double alt_adjust_m = alt_adjust_ft * FEET_TO_METER;
|
||||||
// What should we do when we have nothing else to do? Let's get ready
|
// What should we do when we have nothing else to do? Let's get ready
|
||||||
// for the next move and update the display?
|
// for the next move and update the display?
|
||||||
static void fgMainLoop( void ) {
|
static void fgMainLoop( void ) {
|
||||||
FGTime *t;
|
SGTime *t;
|
||||||
static long remainder = 0;
|
static long remainder = 0;
|
||||||
long elapsed;
|
long elapsed;
|
||||||
#ifdef FANCY_FRAME_COUNTER
|
#ifdef FANCY_FRAME_COUNTER
|
||||||
|
@ -733,7 +733,7 @@ static void fgMainLoop( void ) {
|
||||||
static int frames = 0;
|
static int frames = 0;
|
||||||
#endif // FANCY_FRAME_COUNTER
|
#endif // FANCY_FRAME_COUNTER
|
||||||
|
|
||||||
t = FGTime::cur_time_params;
|
t = SGTime::cur_time_params;
|
||||||
|
|
||||||
FG_LOG( FG_ALL, FG_DEBUG, "Running Main Loop");
|
FG_LOG( FG_ALL, FG_DEBUG, "Running Main Loop");
|
||||||
FG_LOG( FG_ALL, FG_DEBUG, "======= ==== ====");
|
FG_LOG( FG_ALL, FG_DEBUG, "======= ==== ====");
|
||||||
|
@ -808,7 +808,7 @@ static void fgMainLoop( void ) {
|
||||||
cur_magvar.update( cur_fdm_state->get_Longitude(),
|
cur_magvar.update( cur_fdm_state->get_Longitude(),
|
||||||
cur_fdm_state->get_Latitude(),
|
cur_fdm_state->get_Latitude(),
|
||||||
cur_fdm_state->get_Altitude()* FEET_TO_METER,
|
cur_fdm_state->get_Altitude()* FEET_TO_METER,
|
||||||
FGTime::cur_time_params->getJD() );
|
SGTime::cur_time_params->getJD() );
|
||||||
|
|
||||||
// Get elapsed time (in usec) for this past frame
|
// Get elapsed time (in usec) for this past frame
|
||||||
elapsed = fgGetTimeInterval();
|
elapsed = fgGetTimeInterval();
|
||||||
|
@ -1306,15 +1306,15 @@ int main( int argc, char **argv ) {
|
||||||
guiInit();
|
guiInit();
|
||||||
|
|
||||||
// Initialize time
|
// Initialize time
|
||||||
FGTime::cur_time_params = new FGTime( current_options.get_fg_root() );
|
SGTime::cur_time_params = new SGTime( current_options.get_fg_root() );
|
||||||
// FGTime::cur_time_params->init( cur_fdm_state->get_Longitude(),
|
// SGTime::cur_time_params->init( cur_fdm_state->get_Longitude(),
|
||||||
// cur_fdm_state->get_Latitude() );
|
// cur_fdm_state->get_Latitude() );
|
||||||
// FGTime::cur_time_params->update( cur_fdm_state->get_Longitude() );
|
// SGTime::cur_time_params->update( cur_fdm_state->get_Longitude() );
|
||||||
FGTime::cur_time_params->init( 0.0, 0.0,
|
SGTime::cur_time_params->init( 0.0, 0.0,
|
||||||
current_options.get_fg_root(),
|
current_options.get_fg_root(),
|
||||||
current_options.get_time_offset(),
|
current_options.get_time_offset(),
|
||||||
current_options.get_time_offset_type() );
|
current_options.get_time_offset_type() );
|
||||||
FGTime::cur_time_params->update( 0.0, 0.0, 0.0 );
|
SGTime::cur_time_params->update( 0.0, 0.0, 0.0 );
|
||||||
|
|
||||||
// Do some quick general initializations
|
// Do some quick general initializations
|
||||||
if( !fgInitGeneral()) {
|
if( !fgInitGeneral()) {
|
||||||
|
@ -1347,7 +1347,7 @@ int main( int argc, char **argv ) {
|
||||||
FGPath ephem_data_path( current_options.get_fg_root() );
|
FGPath ephem_data_path( current_options.get_fg_root() );
|
||||||
ephem_data_path.append( "Astro" );
|
ephem_data_path.append( "Astro" );
|
||||||
ephem = new FGEphemeris( ephem_data_path.c_str() );
|
ephem = new FGEphemeris( ephem_data_path.c_str() );
|
||||||
ephem->update( FGTime::cur_time_params, 0.0 );
|
ephem->update( SGTime::cur_time_params, 0.0 );
|
||||||
|
|
||||||
FGPath sky_tex_path( current_options.get_fg_root() );
|
FGPath sky_tex_path( current_options.get_fg_root() );
|
||||||
sky_tex_path.append( "Textures" );
|
sky_tex_path.append( "Textures" );
|
||||||
|
|
|
@ -42,7 +42,7 @@ bool global_fullscreen = true;
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/misc/fgstream.hxx>
|
#include <simgear/misc/fgstream.hxx>
|
||||||
#include <simgear/misc/props.hxx>
|
#include <simgear/misc/props.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <Include/general.hxx>
|
#include <Include/general.hxx>
|
||||||
#include <Cockpit/cockpit.hxx>
|
#include <Cockpit/cockpit.hxx>
|
||||||
|
@ -432,7 +432,7 @@ long int fgOPTIONS::parse_date( const string& date)
|
||||||
num[i] = '\0';
|
num[i] = '\0';
|
||||||
gmt.tm_sec = atoi(num);
|
gmt.tm_sec = atoi(num);
|
||||||
}
|
}
|
||||||
time_t theTime = FGTime::cur_time_params->get_gmt(gmt.tm_year,
|
time_t theTime = SGTime::cur_time_params->get_gmt(gmt.tm_year,
|
||||||
gmt.tm_mon,
|
gmt.tm_mon,
|
||||||
gmt.tm_mday,
|
gmt.tm_mday,
|
||||||
gmt.tm_hour,
|
gmt.tm_hour,
|
||||||
|
|
|
@ -47,7 +47,7 @@ extern bool global_fullscreen;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <simgear/math/fg_types.hxx>
|
#include <simgear/math/fg_types.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include STL_STRING
|
#include STL_STRING
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <simgear/math/point3d.hxx>
|
#include <simgear/math/point3d.hxx>
|
||||||
#include <simgear/math/polar3d.hxx>
|
#include <simgear/math/polar3d.hxx>
|
||||||
#include <simgear/math/vector.hxx>
|
#include <simgear/math/vector.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
|
||||||
|
|
||||||
#include <Aircraft/aircraft.hxx>
|
#include <Aircraft/aircraft.hxx>
|
||||||
#include <Cockpit/panel.hxx>
|
#include <Cockpit/panel.hxx>
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
#include <simgear/compiler.h>
|
#include <simgear/compiler.h>
|
||||||
#include <simgear/math/point3d.hxx>
|
#include <simgear/math/point3d.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/math/fg_geodesy.hxx>
|
#include <simgear/math/fg_geodesy.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <FDM/flight.hxx>
|
#include <FDM/flight.hxx>
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ bool FGGarmin::gen_message() {
|
||||||
int deg;
|
int deg;
|
||||||
double min;
|
double min;
|
||||||
|
|
||||||
FGTime *t = FGTime::cur_time_params;
|
SGTime *t = SGTime::cur_time_params;
|
||||||
|
|
||||||
char utc[10];
|
char utc[10];
|
||||||
sprintf( utc, "%02d%02d%02d",
|
sprintf( utc, "%02d%02d%02d",
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
|
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/math/fg_geodesy.hxx>
|
#include <simgear/math/fg_geodesy.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
|
||||||
|
|
||||||
#include "iochannel.hxx"
|
#include "iochannel.hxx"
|
||||||
#include "native.hxx"
|
#include "native.hxx"
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/math/fg_geodesy.hxx>
|
#include <simgear/math/fg_geodesy.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <FDM/flight.hxx>
|
#include <FDM/flight.hxx>
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ bool FGNMEA::gen_message() {
|
||||||
int deg;
|
int deg;
|
||||||
double min;
|
double min;
|
||||||
|
|
||||||
FGTime *t = FGTime::cur_time_params;
|
SGTime *t = SGTime::cur_time_params;
|
||||||
|
|
||||||
char utc[10];
|
char utc[10];
|
||||||
sprintf( utc, "%02d%02d%02d",
|
sprintf( utc, "%02d%02d%02d",
|
||||||
|
|
|
@ -21,9 +21,9 @@
|
||||||
// $Id$
|
// $Id$
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdio.h> // sprintf()
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/math/fg_geodesy.hxx>
|
#include <simgear/math/fg_geodesy.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
|
||||||
|
|
||||||
#include <FDM/flight.hxx>
|
#include <FDM/flight.hxx>
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
|
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/math/fg_geodesy.hxx>
|
#include <simgear/math/fg_geodesy.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
|
||||||
|
|
||||||
#include <FDM/flight.hxx>
|
#include <FDM/flight.hxx>
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
#define _FG_RAY_HXX
|
#define _FG_RAY_HXX
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdio.h> // FILE
|
||||||
|
|
||||||
#include <simgear/compiler.h>
|
#include <simgear/compiler.h>
|
||||||
|
|
||||||
#include STL_STRING
|
#include STL_STRING
|
||||||
|
|
|
@ -22,9 +22,10 @@
|
||||||
// $Id$
|
// $Id$
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdio.h> // sprintf()
|
||||||
|
|
||||||
#include <simgear/debug/logstream.hxx>
|
#include <simgear/debug/logstream.hxx>
|
||||||
#include <simgear/math/fg_geodesy.hxx>
|
#include <simgear/math/fg_geodesy.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
|
||||||
|
|
||||||
#include <FDM/flight.hxx>
|
#include <FDM/flight.hxx>
|
||||||
|
|
||||||
|
|
|
@ -86,13 +86,30 @@ FGTileMgr::~FGTileMgr ( void ) {
|
||||||
int FGTileMgr::init( void ) {
|
int FGTileMgr::init( void ) {
|
||||||
FG_LOG( FG_TERRAIN, FG_INFO, "Initializing Tile Manager subsystem." );
|
FG_LOG( FG_TERRAIN, FG_INFO, "Initializing Tile Manager subsystem." );
|
||||||
|
|
||||||
|
if ( state != Start ) {
|
||||||
|
FG_LOG( FG_TERRAIN, FG_INFO,
|
||||||
|
"ReInitializing the Tile Manager subsystem." );
|
||||||
|
|
||||||
|
// This is necessay to keep bookeeping straight for the
|
||||||
|
// tile_cache -- which actually handles all the
|
||||||
|
// (de)allocations
|
||||||
|
while( load_queue.size() ) {
|
||||||
|
FG_LOG( FG_TERRAIN, FG_INFO,
|
||||||
|
"Load queue not empty, popping a tile" );
|
||||||
|
FGLoadRec pending = load_queue.front();
|
||||||
|
load_queue.pop_front();
|
||||||
|
load_tile( pending.b, pending.cache_index );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
FG_LOG( FG_TERRAIN, FG_INFO,
|
||||||
|
"Initializing Tile Manager subsystem." );
|
||||||
|
}
|
||||||
|
|
||||||
global_tile_cache.init();
|
global_tile_cache.init();
|
||||||
hit_list.clear();
|
hit_list.clear();
|
||||||
|
|
||||||
state = Inited;
|
state = Inited;
|
||||||
|
|
||||||
// last_hit = 0;
|
|
||||||
|
|
||||||
tile_diameter = current_options.get_tile_diameter();
|
tile_diameter = current_options.get_tile_diameter();
|
||||||
FG_LOG( FG_TERRAIN, FG_INFO, "Tile Diameter = " << tile_diameter);
|
FG_LOG( FG_TERRAIN, FG_INFO, "Tile Diameter = " << tile_diameter);
|
||||||
|
|
||||||
|
@ -108,15 +125,6 @@ int FGTileMgr::init( void ) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
// schedule a tile for loading
|
|
||||||
static void disable_tile( int cache_index ) {
|
|
||||||
// see if tile already exists in the cache
|
|
||||||
// cout << "DISABLING CACHE ENTRY = " << cache_index << endl;
|
|
||||||
FGTileEntry *t = global_tile_cache.get_tile( cache_index );
|
|
||||||
t->ssg_disable();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// schedule a tile for loading
|
// schedule a tile for loading
|
||||||
int FGTileMgr::sched_tile( const FGBucket& b ) {
|
int FGTileMgr::sched_tile( const FGBucket& b ) {
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
|
|
||||||
|
|
||||||
#include <simgear/compiler.h>
|
#include <simgear/compiler.h>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
|
||||||
|
|
||||||
#include <Include/fg_callback.hxx>
|
#include <Include/fg_callback.hxx>
|
||||||
|
|
||||||
|
|
|
@ -36,8 +36,6 @@
|
||||||
# include <sys/time.h> // for get/setitimer, gettimeofday, struct timeval
|
# include <sys/time.h> // for get/setitimer, gettimeofday, struct timeval
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <simgear/timing/fg_time.hxx>
|
|
||||||
|
|
||||||
#include "fg_timer.hxx"
|
#include "fg_timer.hxx"
|
||||||
#include "timestamp.hxx"
|
#include "timestamp.hxx"
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ FG_USING_STD(string);
|
||||||
#include <simgear/math/interpolater.hxx>
|
#include <simgear/math/interpolater.hxx>
|
||||||
#include <simgear/math/polar3d.hxx>
|
#include <simgear/math/polar3d.hxx>
|
||||||
#include <simgear/misc/fgpath.hxx>
|
#include <simgear/misc/fgpath.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <Aircraft/aircraft.hxx>
|
#include <Aircraft/aircraft.hxx>
|
||||||
#include <Main/options.hxx>
|
#include <Main/options.hxx>
|
||||||
|
@ -100,7 +100,7 @@ void fgLIGHT::Init( void ) {
|
||||||
// update lighting parameters based on current sun position
|
// update lighting parameters based on current sun position
|
||||||
void fgLIGHT::Update( void ) {
|
void fgLIGHT::Update( void ) {
|
||||||
FGInterface *f;
|
FGInterface *f;
|
||||||
FGTime *t;
|
SGTime *t;
|
||||||
// if the 4th field is 0.0, this specifies a direction ...
|
// if the 4th field is 0.0, this specifies a direction ...
|
||||||
GLfloat white[4] = { 1.0, 1.0, 1.0, 1.0 };
|
GLfloat white[4] = { 1.0, 1.0, 1.0, 1.0 };
|
||||||
// base sky color
|
// base sky color
|
||||||
|
@ -110,7 +110,7 @@ void fgLIGHT::Update( void ) {
|
||||||
double deg, ambient, diffuse, sky_brightness;
|
double deg, ambient, diffuse, sky_brightness;
|
||||||
|
|
||||||
f = current_aircraft.fdm_state;
|
f = current_aircraft.fdm_state;
|
||||||
t = FGTime::cur_time_params;
|
t = SGTime::cur_time_params;
|
||||||
|
|
||||||
FG_LOG( FG_EVENT, FG_INFO, "Updating light parameters." );
|
FG_LOG( FG_EVENT, FG_INFO, "Updating light parameters." );
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
#include <simgear/math/point3d.hxx>
|
#include <simgear/math/point3d.hxx>
|
||||||
#include <simgear/math/polar3d.hxx>
|
#include <simgear/math/polar3d.hxx>
|
||||||
#include <simgear/math/vector.hxx>
|
#include <simgear/math/vector.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <Main/views.hxx>
|
#include <Main/views.hxx>
|
||||||
#include <Scenery/scenery.hxx>
|
#include <Scenery/scenery.hxx>
|
||||||
|
@ -337,7 +337,7 @@ static void fgMoonPositionGST(double gst, double *lon, double *lat) {
|
||||||
// update the cur_time_params structure with the current moon position
|
// update the cur_time_params structure with the current moon position
|
||||||
void fgUpdateMoonPos( void ) {
|
void fgUpdateMoonPos( void ) {
|
||||||
fgLIGHT *l;
|
fgLIGHT *l;
|
||||||
FGTime *t;
|
SGTime *t;
|
||||||
FGView *v;
|
FGView *v;
|
||||||
sgVec3 nup, nmoon, v0, surface_to_moon;
|
sgVec3 nup, nmoon, v0, surface_to_moon;
|
||||||
Point3D p, rel_moonpos;
|
Point3D p, rel_moonpos;
|
||||||
|
@ -345,7 +345,7 @@ void fgUpdateMoonPos( void ) {
|
||||||
double moon_gd_lat, sl_radius;
|
double moon_gd_lat, sl_radius;
|
||||||
|
|
||||||
l = &cur_light_params;
|
l = &cur_light_params;
|
||||||
t = FGTime::cur_time_params;
|
t = SGTime::cur_time_params;
|
||||||
v = ¤t_view;
|
v = ¤t_view;
|
||||||
|
|
||||||
FG_LOG( FG_EVENT, FG_INFO, " Updating Moon position" );
|
FG_LOG( FG_EVENT, FG_INFO, " Updating Moon position" );
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
#include <simgear/math/point3d.hxx>
|
#include <simgear/math/point3d.hxx>
|
||||||
#include <simgear/math/polar3d.hxx>
|
#include <simgear/math/polar3d.hxx>
|
||||||
#include <simgear/math/vector.hxx>
|
#include <simgear/math/vector.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <Main/views.hxx>
|
#include <Main/views.hxx>
|
||||||
#include <Scenery/scenery.hxx>
|
#include <Scenery/scenery.hxx>
|
||||||
|
@ -246,7 +246,7 @@ static void fgSunPositionGST(double gst, double *lon, double *lat) {
|
||||||
// update the cur_time_params structure with the current sun position
|
// update the cur_time_params structure with the current sun position
|
||||||
void fgUpdateSunPos( void ) {
|
void fgUpdateSunPos( void ) {
|
||||||
fgLIGHT *l;
|
fgLIGHT *l;
|
||||||
FGTime *t;
|
SGTime *t;
|
||||||
FGView *v;
|
FGView *v;
|
||||||
sgVec3 nup, nsun, v0, surface_to_sun;
|
sgVec3 nup, nsun, v0, surface_to_sun;
|
||||||
Point3D p, rel_sunpos;
|
Point3D p, rel_sunpos;
|
||||||
|
@ -254,7 +254,7 @@ void fgUpdateSunPos( void ) {
|
||||||
double sun_gd_lat, sl_radius;
|
double sun_gd_lat, sl_radius;
|
||||||
|
|
||||||
l = &cur_light_params;
|
l = &cur_light_params;
|
||||||
t = FGTime::cur_time_params;
|
t = SGTime::cur_time_params;
|
||||||
v = ¤t_view;
|
v = ¤t_view;
|
||||||
|
|
||||||
FG_LOG( FG_EVENT, FG_INFO, " Updating Sun position" );
|
FG_LOG( FG_EVENT, FG_INFO, " Updating Sun position" );
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <simgear/magvar/magvar.hxx>
|
#include <simgear/magvar/magvar.hxx>
|
||||||
#include <simgear/timing/fg_time.hxx>
|
#include <simgear/timing/sg_time.hxx>
|
||||||
|
|
||||||
#include <FDM/flight.hxx>
|
#include <FDM/flight.hxx>
|
||||||
#include <Main/options.hxx>
|
#include <Main/options.hxx>
|
||||||
|
@ -58,7 +58,7 @@ FGMagVar cur_magvar;
|
||||||
// periodic time updater wrapper
|
// periodic time updater wrapper
|
||||||
void fgUpdateLocalTime() {
|
void fgUpdateLocalTime() {
|
||||||
|
|
||||||
FGTime::cur_time_params->updateLocal( cur_fdm_state->get_Longitude(),
|
SGTime::cur_time_params->updateLocal( cur_fdm_state->get_Longitude(),
|
||||||
cur_fdm_state->get_Latitude(),
|
cur_fdm_state->get_Latitude(),
|
||||||
current_options.get_fg_root() );
|
current_options.get_fg_root() );
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,7 @@ HISTORY
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
#include <simgear/compiler.h>
|
#include <simgear/compiler.h>
|
||||||
#include <simgear/constants.h>
|
#include <simgear/constants.h>
|
||||||
|
#include <simgear/misc/fgpath.hxx>
|
||||||
|
|
||||||
#include <Aircraft/aircraft.hxx>
|
#include <Aircraft/aircraft.hxx>
|
||||||
|
|
||||||
|
@ -63,7 +64,9 @@ HISTORY
|
||||||
FGLocalWeatherDatabase* FGLocalWeatherDatabase::theFGLocalWeatherDatabase = 0;
|
FGLocalWeatherDatabase* FGLocalWeatherDatabase::theFGLocalWeatherDatabase = 0;
|
||||||
FGLocalWeatherDatabase *WeatherDatabase;
|
FGLocalWeatherDatabase *WeatherDatabase;
|
||||||
|
|
||||||
void FGLocalWeatherDatabase::init(const WeatherPrecision visibility, const DatabaseWorkingType type)
|
void FGLocalWeatherDatabase::init( const WeatherPrecision visibility,
|
||||||
|
const DatabaseWorkingType type,
|
||||||
|
const string& root )
|
||||||
{
|
{
|
||||||
cerr << "Initializing FGLocalWeatherDatabase\n";
|
cerr << "Initializing FGLocalWeatherDatabase\n";
|
||||||
cerr << "-----------------------------------\n";
|
cerr << "-----------------------------------\n";
|
||||||
|
@ -95,7 +98,10 @@ void FGLocalWeatherDatabase::init(const WeatherPrecision visibility, const Datab
|
||||||
{
|
{
|
||||||
FGWeatherParse *parsed_data = new FGWeatherParse();
|
FGWeatherParse *parsed_data = new FGWeatherParse();
|
||||||
|
|
||||||
parsed_data->input( "weather/current.gz" );
|
FGPath file( root );
|
||||||
|
file.append( "Weather" );
|
||||||
|
file.append( "current.txt.gz" );
|
||||||
|
parsed_data->input( file.c_str() );
|
||||||
unsigned int n = parsed_data->stored_stations();
|
unsigned int n = parsed_data->stored_stations();
|
||||||
|
|
||||||
sgVec2 *p = new sgVec2 [n];
|
sgVec2 *p = new sgVec2 [n];
|
||||||
|
@ -263,15 +269,15 @@ void fgUpdateWeatherDatabase(void)
|
||||||
|
|
||||||
FGPhysicalProperty my_value = WeatherDatabase->get(position);
|
FGPhysicalProperty my_value = WeatherDatabase->get(position);
|
||||||
current_aircraft.fdm_state->set_Static_temperature(my_value.Temperature*KTOR);
|
current_aircraft.fdm_state->set_Static_temperature(my_value.Temperature*KTOR);
|
||||||
current_aircraft.fdm_state->set_Static_pressure(my_value.AirPressure*PATOPSF);
|
current_aircraft.fdm_state->set_Static_pressure(my_value.AirPressure*PATOPSF);
|
||||||
float density=rho0 * 273.15 * my_value.AirPressure / (101300 *my_value.Temperature )*KGMTOSGF;
|
float density=rho0 * 273.15 * my_value.AirPressure / (101300 *my_value.Temperature )*KGMTOSGF;
|
||||||
current_aircraft.fdm_state->set_Density(density*KGMTOSGF);
|
current_aircraft.fdm_state->set_Density(density*KGMTOSGF);
|
||||||
|
|
||||||
#define KPHTOFPS 0.9113 //km/hr to ft/s
|
#define KPHTOFPS 0.9113 //km/hr to ft/s
|
||||||
#define MSTOFPS 3.2808 //m/s to ft/s
|
#define MSTOFPS 3.2808 //m/s to ft/s
|
||||||
current_aircraft.fdm_state->set_Velocities_Local_Airmass(my_value.Wind[1]*KPHTOFPS,
|
current_aircraft.fdm_state->set_Velocities_Local_Airmass(my_value.Wind[1]*KPHTOFPS,
|
||||||
my_value.Wind[0]*KPHTOFPS,
|
my_value.Wind[0]*KPHTOFPS,
|
||||||
my_value.Wind[2]*KPHTOFPS);
|
my_value.Wind[2]*KPHTOFPS);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,7 @@ HISTORY
|
||||||
/* INCLUDES */
|
/* INCLUDES */
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include STL_STRING
|
||||||
|
|
||||||
#include <plib/sg.h>
|
#include <plib/sg.h>
|
||||||
|
|
||||||
|
@ -71,6 +72,7 @@ HISTORY
|
||||||
/* DEFINES */
|
/* DEFINES */
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
FG_USING_STD(vector);
|
FG_USING_STD(vector);
|
||||||
|
FG_USING_STD(string);
|
||||||
FG_USING_NAMESPACE(std);
|
FG_USING_NAMESPACE(std);
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
@ -110,19 +112,22 @@ public:
|
||||||
|
|
||||||
DatabaseWorkingType DatabaseStatus;
|
DatabaseWorkingType DatabaseStatus;
|
||||||
|
|
||||||
void init( const WeatherPrecision visibility, const DatabaseWorkingType type );
|
void init( const WeatherPrecision visibility,
|
||||||
|
const DatabaseWorkingType type,
|
||||||
|
const string& root );
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* Constructor and Destructor */
|
/* Constructor and Destructor */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
FGLocalWeatherDatabase(
|
FGLocalWeatherDatabase(
|
||||||
const sgVec3& position,
|
const sgVec3& position,
|
||||||
|
const string& root,
|
||||||
const WeatherPrecision visibility = DEFAULT_WEATHER_VISIBILITY,
|
const WeatherPrecision visibility = DEFAULT_WEATHER_VISIBILITY,
|
||||||
const DatabaseWorkingType type = PREFERED_WORKING_TYPE)
|
const DatabaseWorkingType type = PREFERED_WORKING_TYPE)
|
||||||
{
|
{
|
||||||
sgCopyVec3( last_known_position, position );
|
sgCopyVec3( last_known_position, position );
|
||||||
|
|
||||||
init( visibility, type );
|
init( visibility, type, root );
|
||||||
|
|
||||||
theFGLocalWeatherDatabase = this;
|
theFGLocalWeatherDatabase = this;
|
||||||
}
|
}
|
||||||
|
@ -131,12 +136,13 @@ public:
|
||||||
const WeatherPrecision position_lat,
|
const WeatherPrecision position_lat,
|
||||||
const WeatherPrecision position_lon,
|
const WeatherPrecision position_lon,
|
||||||
const WeatherPrecision position_alt,
|
const WeatherPrecision position_alt,
|
||||||
|
const string& root,
|
||||||
const WeatherPrecision visibility = DEFAULT_WEATHER_VISIBILITY,
|
const WeatherPrecision visibility = DEFAULT_WEATHER_VISIBILITY,
|
||||||
const DatabaseWorkingType type = PREFERED_WORKING_TYPE)
|
const DatabaseWorkingType type = PREFERED_WORKING_TYPE)
|
||||||
{
|
{
|
||||||
sgSetVec3( last_known_position, position_lat, position_lon, position_alt );
|
sgSetVec3( last_known_position, position_lat, position_lon, position_alt );
|
||||||
|
|
||||||
init( visibility, type );
|
init( visibility, type, root );
|
||||||
|
|
||||||
theFGLocalWeatherDatabase = this;
|
theFGLocalWeatherDatabase = this;
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,8 @@ typedef float WeatherPrecision;
|
||||||
#define MINIMUM_WEATHER_VISIBILITY 10.0 /* metres */
|
#define MINIMUM_WEATHER_VISIBILITY 10.0 /* metres */
|
||||||
#define DEFAULT_WEATHER_VISIBILITY 32000.0 /* metres */
|
#define DEFAULT_WEATHER_VISIBILITY 32000.0 /* metres */
|
||||||
//prefered way the database is working
|
//prefered way the database is working
|
||||||
#define PREFERED_WORKING_TYPE default_mode
|
// #define PREFERED_WORKING_TYPE default_mode
|
||||||
|
#define PREFERED_WORKING_TYPE use_internet
|
||||||
|
|
||||||
#define FG_WEATHER_DEFAULT_TEMPERATURE (15.0+273.16) /*15°C or 288.16°K*/
|
#define FG_WEATHER_DEFAULT_TEMPERATURE (15.0+273.16) /*15°C or 288.16°K*/
|
||||||
#define FG_WEATHER_DEFAULT_VAPORPRESSURE (0.0) /*in Pascal 1 Pa = N/m^2*/
|
#define FG_WEATHER_DEFAULT_VAPORPRESSURE (0.0) /*in Pascal 1 Pa = N/m^2*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue