Renamed class fgCONTROLS to class FGControls.
This commit is contained in:
parent
71f334cc0d
commit
5ead340cee
7 changed files with 55 additions and 65 deletions
|
@ -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.
|
||||||
//
|
//
|
||||||
|
|
|
@ -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 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -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.
|
||||||
//
|
//
|
||||||
|
|
|
@ -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.
|
||||||
//
|
//
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
//
|
//
|
||||||
|
|
|
@ -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.
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in a new issue