Panel tweaks to support "shaped" panels.
Additional HUD support for waypoints. JSBSim updates.
This commit is contained in:
parent
fb2d013c4e
commit
5018278831
21 changed files with 176 additions and 63 deletions
26
Makefile.am
26
Makefile.am
|
@ -20,35 +20,45 @@ dist-hook:
|
||||||
# make the base distribution with textures, sounds and a bit of
|
# make the base distribution with textures, sounds and a bit of
|
||||||
# scenery, and all the other associated files
|
# scenery, and all the other associated files
|
||||||
|
|
||||||
fgfs-base: fgfs-base-tar fgfs-base-zip fgfs-base-patch
|
fgfs-base: fgfs-base-tar fgfs-base-zip fgfs-base-patch fgfs-textures-high
|
||||||
|
|
||||||
fgfs-base-tar:
|
fgfs-base-tar:
|
||||||
(cd $(HOME); \
|
(cd $(HOME); \
|
||||||
tar czvf fgfs-base-$(VERSION)b.tar.gz \
|
tar czvf fgfs-base-$(VERSION).tar.gz \
|
||||||
FlightGear/A[A-su-z]* \
|
FlightGear/A[A-su-z]* \
|
||||||
FlightGear/[B-CE-R]* \
|
FlightGear/[B-CE-R]* \
|
||||||
FlightGear/Scenery/w120n30/w111n33 \
|
FlightGear/Scenery/w120n30/w111n33 \
|
||||||
FlightGear/Sounds \
|
FlightGear/Sounds \
|
||||||
FlightGear/[T-W]* FlightGear/[c-m]*)
|
FlightGear/Textures \
|
||||||
|
FlightGear/T[A-Za-df-z]* \
|
||||||
|
FlightGear/[U-W]* FlightGear/[c-m]*)
|
||||||
|
|
||||||
fgfs-base-zip:
|
fgfs-base-zip:
|
||||||
(cd $(HOME); \
|
(cd $(HOME); \
|
||||||
zip -rv fgfs-base-$(VERSION)b.zip \
|
zip -rv fgfs-base-$(VERSION).zip \
|
||||||
FlightGear/A[A-su-z]* \
|
FlightGear/A[A-su-z]* \
|
||||||
FlightGear/[B-CE-R]* \
|
FlightGear/[B-CE-R]* \
|
||||||
FlightGear/Scenery/w120n30/w111n33 \
|
FlightGear/Scenery/w120n30/w111n33 \
|
||||||
FlightGear/Sounds \
|
FlightGear/Sounds \
|
||||||
FlightGear/Textures FlightGear/Thanks \
|
FlightGear/Textures \
|
||||||
FlightGear/[T-W]* FlightGear/[c-z]*)
|
FlightGear/T[A-Za-df-z]* \
|
||||||
|
FlightGear/[U-W]* FlightGear/[c-z]*)
|
||||||
|
|
||||||
fgfs-base-patch:
|
fgfs-base-patch:
|
||||||
(cd $(HOME); \
|
(cd $(HOME); \
|
||||||
tar --newer 9/18/2000 -czvf fgfs-base-patch-$(VERSION)a.tar.gz \
|
tar --newer 9/18/2000 -czvf fgfs-base-patch-$(VERSION)b.tar.gz \
|
||||||
FlightGear/A[A-su-z]* \
|
FlightGear/A[A-su-z]* \
|
||||||
FlightGear/[B-CE-R]* \
|
FlightGear/[B-CE-R]* \
|
||||||
FlightGear/Scenery/w120n30/w111n33 \
|
FlightGear/Scenery/w120n30/w111n33 \
|
||||||
FlightGear/Sounds \
|
FlightGear/Sounds \
|
||||||
FlightGear/[T-W]* FlightGear/[c-m]*)
|
FlightGear/Textures \
|
||||||
|
FlightGear/T[A-Za-df-z]* \
|
||||||
|
FlightGear/[U-W]* FlightGear/[c-m]*)
|
||||||
|
|
||||||
|
fgfs-textures-high:
|
||||||
|
(cd $(HOME); \
|
||||||
|
tar -czvf fgfs-textures-high-$(VERSION)b.tar.gz \
|
||||||
|
FlightGear/Textures.high)
|
||||||
|
|
||||||
# make the mini JSBsim data distribution
|
# make the mini JSBsim data distribution
|
||||||
jsbsim-data:
|
jsbsim-data:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Users Guide to FlightGear panel configuration
|
Users Guide to FlightGear panel configuration
|
||||||
Version 0.3, October 5 2000
|
Version 0.4, October 11 2000
|
||||||
Author: John Check <j4strngs@rockfish.net>
|
Author: John Check <j4strngs@rockfish.net>
|
||||||
|
|
||||||
This document is an attempt to describe the configuration of
|
This document is an attempt to describe the configuration of
|
||||||
|
@ -112,6 +112,15 @@ when the user clicks the left or center mouse button. Actions are
|
||||||
always tied to properties: they can toggle a boolean property, adjust
|
always tied to properties: they can toggle a boolean property, adjust
|
||||||
the value of a numeric property, or swap the values of two properties.
|
the value of a numeric property, or swap the values of two properties.
|
||||||
|
|
||||||
|
About Transformations and Needle Placement:
|
||||||
|
|
||||||
|
When describing placement of instrument needles, an transformation offset must
|
||||||
|
be applied to shift the needle's fulcrum or else the needle will rotate around it's
|
||||||
|
middle. The offset will be of <type> x-shift or y-shift depending on the orientation of
|
||||||
|
the needle section in the cropped texture.
|
||||||
|
Offsets applied to shift the needle from the center of the instrument face must be
|
||||||
|
applied *before* the transformation that describes the needle movement.
|
||||||
|
|
||||||
About Textures:
|
About Textures:
|
||||||
|
|
||||||
The texture files used to create the panel instruments are maximum 256x256
|
The texture files used to create the panel instruments are maximum 256x256
|
||||||
|
|
|
@ -590,7 +590,7 @@ void TgtAptDialog_OK (puObject *)
|
||||||
|
|
||||||
string tmp = s;
|
string tmp = s;
|
||||||
double alt = 0.0;
|
double alt = 0.0;
|
||||||
int pos = tmp.find( "," );
|
int pos = tmp.find( "@" );
|
||||||
if ( pos != string::npos ) {
|
if ( pos != string::npos ) {
|
||||||
TgtAptId = tmp.substr( 0, pos );
|
TgtAptId = tmp.substr( 0, pos );
|
||||||
string alt_str = tmp.substr( pos + 1 );
|
string alt_str = tmp.substr( pos + 1 );
|
||||||
|
@ -654,6 +654,18 @@ void AddWayPoint(puObject *cb)
|
||||||
void PopWayPoint(puObject *cb)
|
void PopWayPoint(puObject *cb)
|
||||||
{
|
{
|
||||||
globals->get_route()->delete_first();
|
globals->get_route()->delete_first();
|
||||||
|
|
||||||
|
// see if there are more waypoints on the list
|
||||||
|
if ( globals->get_route()->size() ) {
|
||||||
|
// more waypoints
|
||||||
|
current_autopilot->set_HeadingMode( FGAutopilot::FG_HEADING_WAYPOINT );
|
||||||
|
} else {
|
||||||
|
// end of the line
|
||||||
|
current_autopilot->set_HeadingMode( FGAutopilot::FG_HEADING_LOCK );
|
||||||
|
|
||||||
|
// use current heading
|
||||||
|
current_autopilot->set_TargetHeading( FGBFI::getHeading() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClearRoute(puObject *cb)
|
void ClearRoute(puObject *cb)
|
||||||
|
|
|
@ -107,8 +107,21 @@ static inline double get_ground_speed() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FGAutopilot::MakeTargetDistanceStr( double distance ) {
|
void FGAutopilot::MakeTargetWPStr( double distance ) {
|
||||||
double eta = distance*METER_TO_NM / get_ground_speed();
|
double accum = 0.0;
|
||||||
|
|
||||||
|
int size = globals->get_route()->size();
|
||||||
|
|
||||||
|
// start by wiping the strings
|
||||||
|
TargetWP1Str[0] = 0;
|
||||||
|
TargetWP2Str[0] = 0;
|
||||||
|
TargetWP3Str[0] = 0;
|
||||||
|
|
||||||
|
// current route
|
||||||
|
if ( size > 0 ) {
|
||||||
|
SGWayPoint wp1 = globals->get_route()->get_waypoint( 0 );
|
||||||
|
accum += distance;
|
||||||
|
double eta = accum * METER_TO_NM / get_ground_speed();
|
||||||
if ( eta >= 100.0 ) { eta = 99.999; }
|
if ( eta >= 100.0 ) { eta = 99.999; }
|
||||||
int major, minor;
|
int major, minor;
|
||||||
if ( eta < (1.0/6.0) ) {
|
if ( eta < (1.0/6.0) ) {
|
||||||
|
@ -117,15 +130,57 @@ void FGAutopilot::MakeTargetDistanceStr( double distance ) {
|
||||||
}
|
}
|
||||||
major = (int)eta;
|
major = (int)eta;
|
||||||
minor = (int)((eta - (int)eta) * 60.0);
|
minor = (int)((eta - (int)eta) * 60.0);
|
||||||
sprintf( TargetDistanceStr, "%s %.2f NM ETA %d:%02d",
|
sprintf( TargetWP1Str, "%s %.2f NM ETA %d:%02d",
|
||||||
waypoint.get_id().c_str(),
|
wp1.get_id().c_str(),
|
||||||
distance*METER_TO_NM, major, minor );
|
accum*METER_TO_NM, major, minor );
|
||||||
// cout << "distance = " << distance*METER_TO_NM
|
// cout << "distance = " << distance*METER_TO_NM
|
||||||
// << " gndsp = " << get_ground_speed()
|
// << " gndsp = " << get_ground_speed()
|
||||||
// << " time = " << eta
|
// << " time = " << eta
|
||||||
// << " major = " << major
|
// << " major = " << major
|
||||||
// << " minor = " << minor
|
// << " minor = " << minor
|
||||||
// << endl;
|
// << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
// next route
|
||||||
|
if ( size > 1 ) {
|
||||||
|
SGWayPoint wp2 = globals->get_route()->get_waypoint( 1 );
|
||||||
|
accum += wp2.get_distance();
|
||||||
|
|
||||||
|
double eta = accum * METER_TO_NM / get_ground_speed();
|
||||||
|
if ( eta >= 100.0 ) { eta = 99.999; }
|
||||||
|
int major, minor;
|
||||||
|
if ( eta < (1.0/6.0) ) {
|
||||||
|
// within 10 minutes, bump up to min/secs
|
||||||
|
eta *= 60.0;
|
||||||
|
}
|
||||||
|
major = (int)eta;
|
||||||
|
minor = (int)((eta - (int)eta) * 60.0);
|
||||||
|
sprintf( TargetWP2Str, "%s %.2f NM ETA %d:%02d",
|
||||||
|
wp2.get_id().c_str(),
|
||||||
|
accum*METER_TO_NM, major, minor );
|
||||||
|
}
|
||||||
|
|
||||||
|
// next route
|
||||||
|
if ( size > 2 ) {
|
||||||
|
for ( int i = 2; i < size; ++i ) {
|
||||||
|
accum += globals->get_route()->get_waypoint( i ).get_distance();
|
||||||
|
}
|
||||||
|
|
||||||
|
SGWayPoint wpn = globals->get_route()->get_waypoint( size - 1 );
|
||||||
|
|
||||||
|
double eta = accum * METER_TO_NM / get_ground_speed();
|
||||||
|
if ( eta >= 100.0 ) { eta = 99.999; }
|
||||||
|
int major, minor;
|
||||||
|
if ( eta < (1.0/6.0) ) {
|
||||||
|
// within 10 minutes, bump up to min/secs
|
||||||
|
eta *= 60.0;
|
||||||
|
}
|
||||||
|
major = (int)eta;
|
||||||
|
minor = (int)((eta - (int)eta) * 60.0);
|
||||||
|
sprintf( TargetWP3Str, "%s %.2f NM ETA %d:%02d",
|
||||||
|
wpn.get_id().c_str(),
|
||||||
|
accum*METER_TO_NM, major, minor );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -217,7 +272,7 @@ void FGAutopilot::reset() {
|
||||||
|
|
||||||
// TargetLatitude = FGBFI::getLatitude();
|
// TargetLatitude = FGBFI::getLatitude();
|
||||||
// TargetLongitude = FGBFI::getLongitude();
|
// TargetLongitude = FGBFI::getLongitude();
|
||||||
// s<et_WayPoint( FGBFI::getLongitude(), FGBFI::getLatitude(), 0.0, "reset" );
|
// set_WayPoint( FGBFI::getLongitude(), FGBFI::getLatitude(), 0.0, "reset" );
|
||||||
|
|
||||||
MakeTargetLatLonStr( get_TargetLatitude(), get_TargetLongitude() );
|
MakeTargetLatLonStr( get_TargetLatitude(), get_TargetLongitude() );
|
||||||
}
|
}
|
||||||
|
@ -355,7 +410,8 @@ int FGAutopilot::run() {
|
||||||
|
|
||||||
// compute course to way_point
|
// compute course to way_point
|
||||||
// need to test for iter
|
// need to test for iter
|
||||||
waypoint.CourseAndDistance( lon, lat, alt,
|
SGWayPoint wp = globals->get_route()->get_first();
|
||||||
|
wp.CourseAndDistance( lon, lat, alt,
|
||||||
&wp_course, &wp_distance );
|
&wp_course, &wp_distance );
|
||||||
|
|
||||||
#ifdef DO_fgAP_CORRECTED_COURSE
|
#ifdef DO_fgAP_CORRECTED_COURSE
|
||||||
|
@ -392,7 +448,7 @@ int FGAutopilot::run() {
|
||||||
MakeTargetHeadingStr( TargetHeading );
|
MakeTargetHeadingStr( TargetHeading );
|
||||||
// Force this just in case
|
// Force this just in case
|
||||||
TargetDistance = wp_distance;
|
TargetDistance = wp_distance;
|
||||||
MakeTargetDistanceStr( wp_distance );
|
MakeTargetWPStr( wp_distance );
|
||||||
}
|
}
|
||||||
|
|
||||||
double RelHeading;
|
double RelHeading;
|
||||||
|
@ -654,7 +710,7 @@ void FGAutopilot::set_HeadingMode( fgAutoHeadingMode mode ) {
|
||||||
TargetDistance = distance;
|
TargetDistance = distance;
|
||||||
MakeTargetLatLonStr( waypoint.get_target_lat(),
|
MakeTargetLatLonStr( waypoint.get_target_lat(),
|
||||||
waypoint.get_target_lon() );
|
waypoint.get_target_lon() );
|
||||||
MakeTargetDistanceStr( distance );
|
MakeTargetWPStr( distance );
|
||||||
|
|
||||||
if ( waypoint.get_target_alt() > 0.0 ) {
|
if ( waypoint.get_target_alt() > 0.0 ) {
|
||||||
TargetAltitude = waypoint.get_target_alt();
|
TargetAltitude = waypoint.get_target_alt();
|
||||||
|
|
|
@ -100,7 +100,9 @@ private:
|
||||||
char TargetLatitudeStr[64];
|
char TargetLatitudeStr[64];
|
||||||
char TargetLongitudeStr[64];
|
char TargetLongitudeStr[64];
|
||||||
char TargetLatLonStr[64];
|
char TargetLatLonStr[64];
|
||||||
char TargetDistanceStr[64];
|
char TargetWP1Str[64];
|
||||||
|
char TargetWP2Str[64];
|
||||||
|
char TargetWP3Str[64];
|
||||||
char TargetHeadingStr[64];
|
char TargetHeadingStr[64];
|
||||||
char TargetAltitudeStr[64];
|
char TargetAltitudeStr[64];
|
||||||
|
|
||||||
|
@ -156,7 +158,9 @@ public:
|
||||||
|
|
||||||
inline char *get_TargetLatitudeStr() { return TargetLatitudeStr; }
|
inline char *get_TargetLatitudeStr() { return TargetLatitudeStr; }
|
||||||
inline char *get_TargetLongitudeStr() { return TargetLongitudeStr; }
|
inline char *get_TargetLongitudeStr() { return TargetLongitudeStr; }
|
||||||
inline char *get_TargetDistanceStr() { return TargetDistanceStr; }
|
inline char *get_TargetWP1Str() { return TargetWP1Str; }
|
||||||
|
inline char *get_TargetWP2Str() { return TargetWP2Str; }
|
||||||
|
inline char *get_TargetWP3Str() { return TargetWP3Str; }
|
||||||
inline char *get_TargetHeadingStr() { return TargetHeadingStr; }
|
inline char *get_TargetHeadingStr() { return TargetHeadingStr; }
|
||||||
inline char *get_TargetAltitudeStr() { return TargetAltitudeStr; }
|
inline char *get_TargetAltitudeStr() { return TargetAltitudeStr; }
|
||||||
inline char *get_TargetLatLonStr() { return TargetLatLonStr; }
|
inline char *get_TargetLatLonStr() { return TargetLatLonStr; }
|
||||||
|
@ -165,7 +169,7 @@ public:
|
||||||
void MakeTargetLatLonStr( double lat, double lon );
|
void MakeTargetLatLonStr( double lat, double lon );
|
||||||
void MakeTargetAltitudeStr( double altitude );
|
void MakeTargetAltitudeStr( double altitude );
|
||||||
void MakeTargetHeadingStr( double bearing );
|
void MakeTargetHeadingStr( double bearing );
|
||||||
void MakeTargetDistanceStr( double distance );
|
void MakeTargetWPStr( double distance );
|
||||||
void update_old_control_values();
|
void update_old_control_values();
|
||||||
|
|
||||||
// accessors
|
// accessors
|
||||||
|
|
|
@ -1310,14 +1310,25 @@ void fgUpdateHUD( void ) {
|
||||||
apY -= 15;
|
apY -= 15;
|
||||||
}
|
}
|
||||||
if( current_autopilot->get_HeadingMode() ==
|
if( current_autopilot->get_HeadingMode() ==
|
||||||
FGAutopilot::FG_HEADING_WAYPOINT ) {
|
FGAutopilot::FG_HEADING_WAYPOINT )
|
||||||
HUD_TextList.add( fgText( 40, apY,
|
{
|
||||||
current_autopilot->get_TargetLatLonStr()) );
|
char *wpstr;
|
||||||
|
wpstr = current_autopilot->get_TargetWP1Str();
|
||||||
|
if ( strlen( wpstr ) ) {
|
||||||
|
HUD_TextList.add( fgText( 40, apY, wpstr ) );
|
||||||
apY -= 15;
|
apY -= 15;
|
||||||
HUD_TextList.add( fgText( 40, apY,
|
}
|
||||||
current_autopilot->get_TargetDistanceStr() ) );
|
wpstr = current_autopilot->get_TargetWP2Str();
|
||||||
|
if ( strlen( wpstr ) ) {
|
||||||
|
HUD_TextList.add( fgText( 40, apY, wpstr ) );
|
||||||
apY -= 15;
|
apY -= 15;
|
||||||
}
|
}
|
||||||
|
wpstr = current_autopilot->get_TargetWP3Str();
|
||||||
|
if ( strlen( wpstr ) ) {
|
||||||
|
HUD_TextList.add( fgText( 40, apY, wpstr ) );
|
||||||
|
apY -= 15;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
HUD_TextList.draw();
|
HUD_TextList.draw();
|
||||||
|
|
||||||
|
|
|
@ -202,9 +202,9 @@ FGPanel::update () const
|
||||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||||
glBegin(GL_POLYGON);
|
glBegin(GL_POLYGON);
|
||||||
glTexCoord2f(0.0, 0.0); glVertex3f(_winx, _winy, 0);
|
glTexCoord2f(0.0, 0.0); glVertex3f(_winx, _winy, 0);
|
||||||
glTexCoord2f(10.0, 0.0); glVertex3f(_winx + _width, _winy, 0);
|
glTexCoord2f(1.0, 0.0); glVertex3f(_winx + _width, _winy, 0);
|
||||||
glTexCoord2f(10.0, 5.0); glVertex3f(_winx + _width, _winy + _height, 0);
|
glTexCoord2f(1.0, 1.0); glVertex3f(_winx + _width, _winy + _height, 0);
|
||||||
glTexCoord2f(0.0, 5.0); glVertex3f(_winx, _winy + _height, 0);
|
glTexCoord2f(0.0, 1.0); glVertex3f(_winx, _winy + _height, 0);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
// Draw the instruments.
|
// Draw the instruments.
|
||||||
|
|
|
@ -60,10 +60,6 @@
|
||||||
// Initialize the JSBsim flight model, dt is the time increment for
|
// Initialize the JSBsim flight model, dt is the time increment for
|
||||||
// each subsequent iteration through the EOM
|
// each subsequent iteration through the EOM
|
||||||
|
|
||||||
static bool trimmed = false;
|
|
||||||
static bool trim_elev = false;
|
|
||||||
static bool trim_throttle = false;
|
|
||||||
|
|
||||||
int FGJSBsim::init( double dt ) {
|
int FGJSBsim::init( double dt ) {
|
||||||
|
|
||||||
bool result;
|
bool result;
|
||||||
|
|
|
@ -34,6 +34,9 @@ class FGJSBsim: public FGInterface {
|
||||||
|
|
||||||
// The aircraft for this instance
|
// The aircraft for this instance
|
||||||
FGFDMExec FDMExec;
|
FGFDMExec FDMExec;
|
||||||
|
bool trimmed;
|
||||||
|
float trim_elev;
|
||||||
|
float trim_throttle;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -128,6 +128,9 @@ INCLUDES
|
||||||
#include "FGAuxiliary.h"
|
#include "FGAuxiliary.h"
|
||||||
#include "FGOutput.h"
|
#include "FGOutput.h"
|
||||||
|
|
||||||
|
const char *IdSrc = "$Header$";
|
||||||
|
const char *IdHdr = ID_AIRCRAFT;
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
************************************ CODE **************************************
|
************************************ CODE **************************************
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
|
@ -121,6 +121,8 @@ INCLUDES
|
||||||
#include "FGConfigFile.h"
|
#include "FGConfigFile.h"
|
||||||
#include "FGMatrix.h"
|
#include "FGMatrix.h"
|
||||||
|
|
||||||
|
#define ID_AIRCRAFT "$Header$"
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
DEFINITIONS
|
DEFINITIONS
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
|
@ -44,6 +44,7 @@ INCLUDES
|
||||||
|
|
||||||
#include "FGModel.h"
|
#include "FGModel.h"
|
||||||
#include "FGMatrix.h"
|
#include "FGMatrix.h"
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
COMMENTS, REFERENCES, and NOTES
|
COMMENTS, REFERENCES, and NOTES
|
||||||
********************************************************************************
|
********************************************************************************
|
||||||
|
|
|
@ -38,6 +38,7 @@ SENTRY
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
INCLUDES
|
INCLUDES
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "FGModel.h"
|
#include "FGModel.h"
|
||||||
#include "FGMatrix.h"
|
#include "FGMatrix.h"
|
||||||
|
|
||||||
|
|
|
@ -51,8 +51,10 @@ FGControls::~FGControls() {
|
||||||
|
|
||||||
|
|
||||||
// $Log$
|
// $Log$
|
||||||
// Revision 1.17 2000/10/10 15:44:35 curt
|
// Revision 1.18 2000/10/13 21:34:57 curt
|
||||||
// Oct. 10, 2000 sync with JSBSim master repository.
|
// Panel tweaks to support "shaped" panels.
|
||||||
|
// Additional HUD support for waypoints.
|
||||||
|
// JSBSim updates.
|
||||||
//
|
//
|
||||||
// Revision 1.3 2000/04/26 10:55:57 jsb
|
// Revision 1.3 2000/04/26 10:55:57 jsb
|
||||||
// Made changes as required by Curt to install JSBSim into FGFS
|
// Made changes as required by Curt to install JSBSim into FGFS
|
||||||
|
|
|
@ -177,8 +177,10 @@ extern FGControls controls;
|
||||||
|
|
||||||
|
|
||||||
// $Log$
|
// $Log$
|
||||||
// Revision 1.16 2000/10/10 15:44:35 curt
|
// Revision 1.17 2000/10/13 21:34:58 curt
|
||||||
// Oct. 10, 2000 sync with JSBSim master repository.
|
// Panel tweaks to support "shaped" panels.
|
||||||
|
// Additional HUD support for waypoints.
|
||||||
|
// JSBSim updates.
|
||||||
//
|
//
|
||||||
// Revision 1.6 2000/06/03 13:59:52 jsb
|
// Revision 1.6 2000/06/03 13:59:52 jsb
|
||||||
// Changes for compatibility with MSVC
|
// Changes for compatibility with MSVC
|
||||||
|
|
|
@ -60,6 +60,7 @@ INCLUDES
|
||||||
************************************ CODE **************************************
|
************************************ CODE **************************************
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
char const *Id = "$Header$";
|
||||||
|
|
||||||
FGFCS::FGFCS(FGFDMExec* fdmex) : FGModel(fdmex) {
|
FGFCS::FGFCS(FGFDMExec* fdmex) : FGModel(fdmex) {
|
||||||
Name = "FGFCS";
|
Name = "FGFCS";
|
||||||
|
|
|
@ -54,7 +54,6 @@ INCLUDES
|
||||||
#include "FGModel.h"
|
#include "FGModel.h"
|
||||||
#include "FGConfigFile.h"
|
#include "FGConfigFile.h"
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
CLASS DECLARATION
|
CLASS DECLARATION
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
|
@ -60,6 +60,8 @@ INCLUDES
|
||||||
CLASS DECLARATION
|
CLASS DECLARATION
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
const char *Id_Inertial = "JSBSim $Header$";
|
||||||
|
|
||||||
class FGInertial : public FGModel {
|
class FGInertial : public FGModel {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -103,6 +103,7 @@ typedef enum { setvt, setvc, setve, setmach } speedset;
|
||||||
considered equivalent to setting gamma.
|
considered equivalent to setting gamma.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class FGInitialCondition {
|
class FGInitialCondition {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -137,8 +137,6 @@ FGColumnVector FGLGear::Force(void)
|
||||||
|
|
||||||
vForce = State->GetTl2b() * vLocalForce ;
|
vForce = State->GetTl2b() * vLocalForce ;
|
||||||
vMoment = vWhlBodyVec * vForce;
|
vMoment = vWhlBodyVec * vForce;
|
||||||
cout << " Force: " << vForce << endl;
|
|
||||||
cout << " Moment: " << vMoment << endl;
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
|
@ -596,7 +596,7 @@ bool fgOPTIONS::parse_wp( const string& arg ) {
|
||||||
string id, alt_str;
|
string id, alt_str;
|
||||||
double alt = 0.0;
|
double alt = 0.0;
|
||||||
|
|
||||||
int pos = arg.find( "," );
|
int pos = arg.find( "@" );
|
||||||
if ( pos != string::npos ) {
|
if ( pos != string::npos ) {
|
||||||
id = arg.substr( 0, pos );
|
id = arg.substr( 0, pos );
|
||||||
alt_str = arg.substr( pos + 1 );
|
alt_str = arg.substr( pos + 1 );
|
||||||
|
@ -1164,7 +1164,7 @@ void fgOPTIONS::usage ( void ) {
|
||||||
|
|
||||||
cout << endl;
|
cout << endl;
|
||||||
cout << "Route/Way Point Options:" << endl;
|
cout << "Route/Way Point Options:" << endl;
|
||||||
cout << "\t--wp=ID[,alt]: specify a waypoint for the GC autopilot" << endl;
|
cout << "\t--wp=ID[@alt]: specify a waypoint for the GC autopilot" << endl;
|
||||||
cout << "\t\tYou can specify multiple waypoints (a route) with multiple"
|
cout << "\t\tYou can specify multiple waypoints (a route) with multiple"
|
||||||
<< endl;
|
<< endl;
|
||||||
cout << "\t\tinstances of --wp=" << endl;
|
cout << "\t\tinstances of --wp=" << endl;
|
||||||
|
|
Loading…
Reference in a new issue