1
0
Fork 0

Renamed class fgCONTROLS to class FGControls.

This commit is contained in:
curt 1998-12-05 16:13:10 +00:00
parent 71f334cc0d
commit 5ead340cee
7 changed files with 55 additions and 65 deletions

View file

@ -40,7 +40,7 @@
// Define a structure containing all the parameters for an aircraft // Define a structure containing all the parameters for an aircraft
typedef struct{ typedef struct{
FGState *fdm_state; FGState *fdm_state;
fgCONTROLS *controls; FGControls *controls;
} fgAIRCRAFT ; } fgAIRCRAFT ;
@ -61,6 +61,9 @@ void fgAircraftOutputCurrent(fgAIRCRAFT *a);
// $Log$ // $Log$
// Revision 1.4 1998/12/05 16:13:10 curt
// Renamed class fgCONTROLS to class FGControls.
//
// Revision 1.3 1998/12/05 15:54:01 curt // Revision 1.3 1998/12/05 15:54:01 curt
// Renamed class fgFLIGHT to class FGState as per request by JSB. // Renamed class fgFLIGHT to class FGState as per request by JSB.
// //

View file

@ -339,7 +339,7 @@ int fgAPRun( void )
if ( total_adj > 1.0 ) { total_adj = 1.0; } if ( total_adj > 1.0 ) { total_adj = 1.0; }
if ( total_adj < 0.0 ) { total_adj = 0.0; } if ( total_adj < 0.0 ) { total_adj = 0.0; }
controls.set_throttle( fgCONTROLS::FG_ALL_ENGINES, total_adj ); controls.set_throttle( FGControls::ALL_ENGINES, total_adj );
} }
/* /*

View file

@ -25,32 +25,35 @@
#include "controls.hxx" #include "controls.hxx"
fgCONTROLS controls; FGControls controls;
// Constructor // Constructor
fgCONTROLS::fgCONTROLS() : FGControls::FGControls() :
aileron( 0.0 ), aileron( 0.0 ),
elevator( 0.0 ), elevator( 0.0 ),
elevator_trim( 1.969572E-03 ), elevator_trim( 1.969572E-03 ),
rudder( 0.0 ) rudder( 0.0 )
{ {
for ( int engine = 0; engine < FG_MAX_ENGINES; engine++ ) { for ( int engine = 0; engine < MAX_ENGINES; engine++ ) {
throttle[engine] = 0.0; throttle[engine] = 0.0;
} }
for ( int wheel = 0; wheel < FG_MAX_WHEELS; wheel++ ) { for ( int wheel = 0; wheel < MAX_WHEELS; wheel++ ) {
brake[wheel] = 0.0; brake[wheel] = 0.0;
} }
} }
// Destructor // Destructor
fgCONTROLS::~fgCONTROLS() { FGControls::~FGControls() {
} }
// $Log$ // $Log$
// Revision 1.3 1998/12/05 16:13:12 curt
// Renamed class fgCONTROLS to class FGControls.
//
// Revision 1.2 1998/10/25 14:08:41 curt // Revision 1.2 1998/10/25 14:08:41 curt
// Turned "struct fgCONTROLS" into a class, with inlined accessor functions. // Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
// //

View file

@ -26,9 +26,6 @@
#define _CONTROLS_HXX #define _CONTROLS_HXX
// #include <Include/fg_limits.h>
#ifndef __cplusplus #ifndef __cplusplus
# error This library requires C++ # error This library requires C++
#endif #endif
@ -36,15 +33,15 @@
// Define a structure containing the control parameters // Define a structure containing the control parameters
class fgCONTROLS { class FGControls {
public: public:
static const int FG_ALL_ENGINES = -1; static const int ALL_ENGINES = -1;
static const int FG_MAX_ENGINES = 10; static const int MAX_ENGINES = 10;
static const int FG_ALL_WHEELS = -1; static const int ALL_WHEELS = -1;
static const int FG_MAX_WHEELS = 3; static const int MAX_WHEELS = 3;
private: private:
@ -52,13 +49,13 @@ private:
double elevator; double elevator;
double elevator_trim; double elevator_trim;
double rudder; double rudder;
double throttle[FG_MAX_ENGINES]; double throttle[MAX_ENGINES];
double brake[FG_MAX_WHEELS]; double brake[MAX_WHEELS];
public: public:
fgCONTROLS(); FGControls();
~fgCONTROLS(); ~FGControls();
// Query functions // Query functions
inline double get_aileron() const { return aileron; } inline double get_aileron() const { return aileron; }
@ -110,14 +107,14 @@ public:
if ( rudder > 1.0 ) rudder = 1.0; if ( rudder > 1.0 ) rudder = 1.0;
} }
inline void set_throttle( int engine, double pos ) { inline void set_throttle( int engine, double pos ) {
if ( engine == FG_ALL_ENGINES ) { if ( engine == ALL_ENGINES ) {
for ( int i = 0; i < FG_MAX_ENGINES; i++ ) { for ( int i = 0; i < MAX_ENGINES; i++ ) {
throttle[i] = pos; throttle[i] = pos;
if ( throttle[i] < 0.0 ) throttle[i] = 0.0; if ( throttle[i] < 0.0 ) throttle[i] = 0.0;
if ( throttle[i] > 1.0 ) throttle[i] = 1.0; if ( throttle[i] > 1.0 ) throttle[i] = 1.0;
} }
} else { } else {
if ( (engine >= 0) && (engine < FG_MAX_ENGINES) ) { if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
throttle[engine] = pos; throttle[engine] = pos;
if ( throttle[engine] < 0.0 ) throttle[engine] = 0.0; if ( throttle[engine] < 0.0 ) throttle[engine] = 0.0;
if ( throttle[engine] > 1.0 ) throttle[engine] = 1.0; if ( throttle[engine] > 1.0 ) throttle[engine] = 1.0;
@ -125,14 +122,14 @@ public:
} }
} }
inline void move_throttle( int engine, double amt ) { inline void move_throttle( int engine, double amt ) {
if ( engine == FG_ALL_ENGINES ) { if ( engine == ALL_ENGINES ) {
for ( int i = 0; i < FG_MAX_ENGINES; i++ ) { for ( int i = 0; i < MAX_ENGINES; i++ ) {
throttle[i] += amt; throttle[i] += amt;
if ( throttle[i] < 0.0 ) throttle[i] = 0.0; if ( throttle[i] < 0.0 ) throttle[i] = 0.0;
if ( throttle[i] > 1.0 ) throttle[i] = 1.0; if ( throttle[i] > 1.0 ) throttle[i] = 1.0;
} }
} else { } else {
if ( (engine >= 0) && (engine < FG_MAX_ENGINES) ) { if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
throttle[engine] += amt; throttle[engine] += amt;
if ( throttle[engine] < 0.0 ) throttle[engine] = 0.0; if ( throttle[engine] < 0.0 ) throttle[engine] = 0.0;
if ( throttle[engine] > 1.0 ) throttle[engine] = 1.0; if ( throttle[engine] > 1.0 ) throttle[engine] = 1.0;
@ -140,14 +137,14 @@ public:
} }
} }
inline void set_brake( int wheel, double pos ) { inline void set_brake( int wheel, double pos ) {
if ( wheel == FG_ALL_WHEELS ) { if ( wheel == ALL_WHEELS ) {
for ( int i = 0; i < FG_MAX_WHEELS; i++ ) { for ( int i = 0; i < MAX_WHEELS; i++ ) {
brake[i] = pos; brake[i] = pos;
if ( brake[i] < 0.0 ) brake[i] = 0.0; if ( brake[i] < 0.0 ) brake[i] = 0.0;
if ( brake[i] > 1.0 ) brake[i] = 1.0; if ( brake[i] > 1.0 ) brake[i] = 1.0;
} }
} else { } else {
if ( (wheel >= 0) && (wheel < FG_MAX_WHEELS) ) { if ( (wheel >= 0) && (wheel < MAX_WHEELS) ) {
brake[wheel] = pos; brake[wheel] = pos;
if ( brake[wheel] < 0.0 ) brake[wheel] = 0.0; if ( brake[wheel] < 0.0 ) brake[wheel] = 0.0;
if ( brake[wheel] > 1.0 ) brake[wheel] = 1.0; if ( brake[wheel] > 1.0 ) brake[wheel] = 1.0;
@ -155,14 +152,14 @@ public:
} }
} }
inline void move_brake( int wheel, double amt ) { inline void move_brake( int wheel, double amt ) {
if ( wheel == FG_ALL_WHEELS ) { if ( wheel == ALL_WHEELS ) {
for ( int i = 0; i < FG_MAX_WHEELS; i++ ) { for ( int i = 0; i < MAX_WHEELS; i++ ) {
brake[i] += amt; brake[i] += amt;
if ( brake[i] < 0.0 ) brake[i] = 0.0; if ( brake[i] < 0.0 ) brake[i] = 0.0;
if ( brake[i] > 1.0 ) brake[i] = 1.0; if ( brake[i] > 1.0 ) brake[i] = 1.0;
} }
} else { } else {
if ( (wheel >= 0) && (wheel < FG_MAX_WHEELS) ) { if ( (wheel >= 0) && (wheel < MAX_WHEELS) ) {
brake[wheel] += amt; brake[wheel] += amt;
if ( brake[wheel] < 0.0 ) brake[wheel] = 0.0; if ( brake[wheel] < 0.0 ) brake[wheel] = 0.0;
if ( brake[wheel] > 1.0 ) brake[wheel] = 1.0; if ( brake[wheel] > 1.0 ) brake[wheel] = 1.0;
@ -172,38 +169,16 @@ public:
}; };
/* extern FGControls controls;
#define FG_Elevator c->elevator
#define FG_Aileron c->aileron
#define FG_Rudder c->rudder
#define FG_Throttle c->throttle
#define FG_Throttle_All -1
#define FG_Elev_Trim c->elevator_trim
#define FG_Brake_Amt c->brake_amt
*/
extern fgCONTROLS controls;
/*
void fgControlsInit( void );
void fgElevMove(double amt);
void fgElevSet(double pos);
void fgElevTrimMove(double amt);
void fgElevTrimSet(double pos);
void fgAileronMove(double amt);
void fgAileronSet(double pos);
void fgRudderMove(double amt);
void fgRudderSet(double pos);
void fgThrottleMove(int engine, double amt);
void fgThrottleSet(int engine, double pos);
void fgBrakeSet( double brake_amt );
double fgBrakeGet( void );
*/
#endif // _CONTROLS_HXX #endif // _CONTROLS_HXX
// $Log$ // $Log$
// Revision 1.3 1998/12/05 16:13:13 curt
// Renamed class fgCONTROLS to class FGControls.
//
// Revision 1.2 1998/10/25 14:08:42 curt // Revision 1.2 1998/10/25 14:08:42 curt
// Turned "struct fgCONTROLS" into a class, with inlined accessor functions. // Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
// //

View file

@ -103,7 +103,7 @@ void joystick(unsigned int buttonMask, int js_x, int js_y, int js_z)
// Pass the values to the control routines // Pass the values to the control routines
controls.set_elevator( joy_y ); controls.set_elevator( joy_y );
controls.set_aileron( -joy_x ); controls.set_aileron( -joy_x );
controls.set_throttle( fgCONTROLS::FG_ALL_ENGINES, joy_z ); controls.set_throttle( FGControls::ALL_ENGINES, joy_z );
} }
#endif // ENABLE_GLUT_JOYSTICK #endif // ENABLE_GLUT_JOYSTICK
@ -181,7 +181,7 @@ int fgJoystickRead( void ) {
if ( ! js1->notWorking() ) { if ( ! js1->notWorking() ) {
js1->read( &b, js_ax1 ) ; js1->read( &b, js_ax1 ) ;
controls.set_rudder( js_ax1[0] ); controls.set_rudder( js_ax1[0] );
controls.set_throttle( fgCONTROLS::FG_ALL_ENGINES, -js_ax1[1] * 1.05 ); controls.set_throttle( FGControls::ALL_ENGINES, -js_ax1[1] * 1.05 );
} }
return 1; return 1;
@ -191,6 +191,9 @@ int fgJoystickRead( void ) {
// $Log$ // $Log$
// Revision 1.6 1998/12/05 16:13:16 curt
// Renamed class fgCONTROLS to class FGControls.
//
// Revision 1.5 1998/11/06 21:18:04 curt // Revision 1.5 1998/11/06 21:18:04 curt
// Converted to new logstream debugging facility. This allows release // Converted to new logstream debugging facility. This allows release
// builds with no messages at all (and no performance impact) by using // builds with no messages at all (and no performance impact) by using

View file

@ -205,17 +205,17 @@ void GLUTkey(unsigned char k, int x, int y) {
controls.set_rudder(0.0); controls.set_rudder(0.0);
return; return;
case 57: // numeric keypad 9 (Pg Up) case 57: // numeric keypad 9 (Pg Up)
controls.move_throttle( fgCONTROLS::FG_ALL_ENGINES, 0.01 ); controls.move_throttle( FGControls::ALL_ENGINES, 0.01 );
return; return;
case 51: // numeric keypad 3 (Pg Dn) case 51: // numeric keypad 3 (Pg Dn)
controls.move_throttle( fgCONTROLS::FG_ALL_ENGINES, -0.01 ); controls.move_throttle( FGControls::ALL_ENGINES, -0.01 );
return; return;
case 98: // b key case 98: // b key
int b_ret; int b_ret;
double b_set; double b_set;
b_ret = int( controls.get_brake( 0 ) ); b_ret = int( controls.get_brake( 0 ) );
b_set = double(!b_ret); b_set = double(!b_ret);
controls.set_brake( fgCONTROLS::FG_ALL_WHEELS, b_set); controls.set_brake( FGControls::ALL_WHEELS, b_set);
return; return;
case 104: // h key case 104: // h key
HUD_brightkey( false ); HUD_brightkey( false );
@ -375,10 +375,10 @@ void GLUTspecialkey(int k, int x, int y) {
controls.set_rudder(0.0); controls.set_rudder(0.0);
return; return;
case GLUT_KEY_PAGE_UP: // numeric keypad 9 (Pg Up) case GLUT_KEY_PAGE_UP: // numeric keypad 9 (Pg Up)
controls.move_throttle( fgCONTROLS::FG_ALL_ENGINES, 0.01 ); controls.move_throttle( FGControls::ALL_ENGINES, 0.01 );
return; return;
case GLUT_KEY_PAGE_DOWN: // numeric keypad 3 (Pg Dn) case GLUT_KEY_PAGE_DOWN: // numeric keypad 3 (Pg Dn)
controls.move_throttle( fgCONTROLS::FG_ALL_ENGINES, -0.01 ); controls.move_throttle( FGControls::ALL_ENGINES, -0.01 );
return; return;
} }
} }
@ -386,6 +386,9 @@ void GLUTspecialkey(int k, int x, int y) {
// $Log$ // $Log$
// Revision 1.35 1998/12/05 16:13:17 curt
// Renamed class fgCONTROLS to class FGControls.
//
// Revision 1.34 1998/12/05 15:54:17 curt // Revision 1.34 1998/12/05 15:54:17 curt
// Renamed class fgFLIGHT to class FGState as per request by JSB. // Renamed class fgFLIGHT to class FGState as per request by JSB.
// //

View file

@ -63,7 +63,7 @@ void fgSlewInit(double pos_x, double pos_y, double pos_z, double heading) {
// update position based on inputs, positions, velocities, etc. // update position based on inputs, positions, velocities, etc.
void fgSlewUpdate( void ) { void fgSlewUpdate( void ) {
FGState *f; FGState *f;
fgCONTROLS *c; FGControls *c;
f = current_aircraft.fdm_state; f = current_aircraft.fdm_state;
c = current_aircraft.controls; c = current_aircraft.controls;
@ -83,6 +83,9 @@ void fgSlewUpdate( void ) {
// $Log$ // $Log$
// Revision 1.4 1998/12/05 16:13:14 curt
// Renamed class fgCONTROLS to class FGControls.
//
// Revision 1.3 1998/12/05 15:54:16 curt // Revision 1.3 1998/12/05 15:54:16 curt
// Renamed class fgFLIGHT to class FGState as per request by JSB. // Renamed class fgFLIGHT to class FGState as per request by JSB.
// //