// if it is lower than the terrain
altitude(-9999.0),
+ // Initialize current options velocities to 0.0
+ uBody(0.0), vBody(0.0), wBody(0.0),
+
// Initial Orientation
heading(270.0), // heading (yaw) angle in degress (Psi)
roll(0.0), // roll angle in degrees (Phi)
} else {
altitude = atof( arg.substr(11) );
}
+ } else if ( arg.find( "--uBody=" ) != string::npos ) {
+ if ( units == FG_UNITS_FEET ) {
+ uBody = atof( arg.substr(8) ) * FEET_TO_METER;
+ } else {
+ uBody = atof( arg.substr(8) );
+ }
+ } else if ( arg.find( "--vBody=" ) != string::npos ) {
+ if ( units == FG_UNITS_FEET ) {
+ vBody = atof( arg.substr(8) ) * FEET_TO_METER;
+ } else {
+ vBody = atof( arg.substr(8) );
+ }
+ } else if ( arg.find( "--wBody=" ) != string::npos ) {
+ if ( units == FG_UNITS_FEET ) {
+ wBody = atof( arg.substr(8) ) * FEET_TO_METER;
+ } else {
+ wBody = atof( arg.substr(8) );
+ }
} else if ( arg.find( "--heading=" ) != string::npos ) {
heading = atof( arg.substr(10) );
} else if ( arg.find( "--roll=" ) != string::npos ) {
// Parse config file options
int fgOPTIONS::parse_config_file( const string& path ) {
fg_gzifstream in( path );
- if ( !in )
+ if ( !in.is_open() )
return(FG_OPTIONS_ERROR);
FG_LOG( FG_GENERAL, FG_INFO, "Processing config file: " << path );
in >> skipcomment;
- while ( !in.eof() ) {
+#ifndef __MWERKS__
+ while ( ! in.eof() ) {
+#else
+ char c = '\0';
+ while ( in.get(c) && c != '\0' ) {
+ in.putback(c);
+#endif
string line;
#ifdef GETLINE_NEEDS_TERMINATOR
printf("\t--heading=degrees: heading (yaw) angle in degress (Psi)\n");
printf("\t--roll=degrees: roll angle in degrees (Phi)\n");
printf("\t--pitch=degrees: pitch angle in degrees (Theta)\n");
+ printf("\t--uBody=feet per second: velocity along the body X axis\n");
+ printf("\t--vBody=feet per second: velocity along the body Y axis\n");
+ printf("\t--wBody=feet per second: velocity along the body Z axis\n");
+ printf("\t\t(unless --units-meters specified\n");
printf("\n");
printf("Rendering Options:\n");