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
|
||||
typedef struct{
|
||||
FGState *fdm_state;
|
||||
fgCONTROLS *controls;
|
||||
FGControls *controls;
|
||||
} fgAIRCRAFT ;
|
||||
|
||||
|
||||
|
@ -61,6 +61,9 @@ void fgAircraftOutputCurrent(fgAIRCRAFT *a);
|
|||
|
||||
|
||||
// $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
|
||||
// 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 < 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"
|
||||
|
||||
|
||||
fgCONTROLS controls;
|
||||
FGControls controls;
|
||||
|
||||
|
||||
// Constructor
|
||||
fgCONTROLS::fgCONTROLS() :
|
||||
FGControls::FGControls() :
|
||||
aileron( 0.0 ),
|
||||
elevator( 0.0 ),
|
||||
elevator_trim( 1.969572E-03 ),
|
||||
rudder( 0.0 )
|
||||
{
|
||||
for ( int engine = 0; engine < FG_MAX_ENGINES; engine++ ) {
|
||||
for ( int engine = 0; engine < MAX_ENGINES; engine++ ) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Destructor
|
||||
fgCONTROLS::~fgCONTROLS() {
|
||||
FGControls::~FGControls() {
|
||||
}
|
||||
|
||||
|
||||
// $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
|
||||
// Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
|
||||
//
|
||||
|
|
|
@ -26,9 +26,6 @@
|
|||
#define _CONTROLS_HXX
|
||||
|
||||
|
||||
// #include <Include/fg_limits.h>
|
||||
|
||||
|
||||
#ifndef __cplusplus
|
||||
# error This library requires C++
|
||||
#endif
|
||||
|
@ -36,15 +33,15 @@
|
|||
|
||||
// Define a structure containing the control parameters
|
||||
|
||||
class fgCONTROLS {
|
||||
class FGControls {
|
||||
|
||||
public:
|
||||
|
||||
static const int FG_ALL_ENGINES = -1;
|
||||
static const int FG_MAX_ENGINES = 10;
|
||||
static const int ALL_ENGINES = -1;
|
||||
static const int MAX_ENGINES = 10;
|
||||
|
||||
static const int FG_ALL_WHEELS = -1;
|
||||
static const int FG_MAX_WHEELS = 3;
|
||||
static const int ALL_WHEELS = -1;
|
||||
static const int MAX_WHEELS = 3;
|
||||
|
||||
private:
|
||||
|
||||
|
@ -52,13 +49,13 @@ private:
|
|||
double elevator;
|
||||
double elevator_trim;
|
||||
double rudder;
|
||||
double throttle[FG_MAX_ENGINES];
|
||||
double brake[FG_MAX_WHEELS];
|
||||
double throttle[MAX_ENGINES];
|
||||
double brake[MAX_WHEELS];
|
||||
|
||||
public:
|
||||
|
||||
fgCONTROLS();
|
||||
~fgCONTROLS();
|
||||
FGControls();
|
||||
~FGControls();
|
||||
|
||||
// Query functions
|
||||
inline double get_aileron() const { return aileron; }
|
||||
|
@ -110,14 +107,14 @@ public:
|
|||
if ( rudder > 1.0 ) rudder = 1.0;
|
||||
}
|
||||
inline void set_throttle( int engine, double pos ) {
|
||||
if ( engine == FG_ALL_ENGINES ) {
|
||||
for ( int i = 0; i < FG_MAX_ENGINES; i++ ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
throttle[i] = pos;
|
||||
if ( throttle[i] < 0.0 ) throttle[i] = 0.0;
|
||||
if ( throttle[i] > 1.0 ) throttle[i] = 1.0;
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < FG_MAX_ENGINES) ) {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
throttle[engine] = pos;
|
||||
if ( throttle[engine] < 0.0 ) throttle[engine] = 0.0;
|
||||
if ( throttle[engine] > 1.0 ) throttle[engine] = 1.0;
|
||||
|
@ -125,14 +122,14 @@ public:
|
|||
}
|
||||
}
|
||||
inline void move_throttle( int engine, double amt ) {
|
||||
if ( engine == FG_ALL_ENGINES ) {
|
||||
for ( int i = 0; i < FG_MAX_ENGINES; i++ ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
throttle[i] += amt;
|
||||
if ( throttle[i] < 0.0 ) throttle[i] = 0.0;
|
||||
if ( throttle[i] > 1.0 ) throttle[i] = 1.0;
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < FG_MAX_ENGINES) ) {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
throttle[engine] += amt;
|
||||
if ( throttle[engine] < 0.0 ) throttle[engine] = 0.0;
|
||||
if ( throttle[engine] > 1.0 ) throttle[engine] = 1.0;
|
||||
|
@ -140,14 +137,14 @@ public:
|
|||
}
|
||||
}
|
||||
inline void set_brake( int wheel, double pos ) {
|
||||
if ( wheel == FG_ALL_WHEELS ) {
|
||||
for ( int i = 0; i < FG_MAX_WHEELS; i++ ) {
|
||||
if ( wheel == ALL_WHEELS ) {
|
||||
for ( int i = 0; i < MAX_WHEELS; i++ ) {
|
||||
brake[i] = pos;
|
||||
if ( brake[i] < 0.0 ) brake[i] = 0.0;
|
||||
if ( brake[i] > 1.0 ) brake[i] = 1.0;
|
||||
}
|
||||
} else {
|
||||
if ( (wheel >= 0) && (wheel < FG_MAX_WHEELS) ) {
|
||||
if ( (wheel >= 0) && (wheel < MAX_WHEELS) ) {
|
||||
brake[wheel] = pos;
|
||||
if ( brake[wheel] < 0.0 ) brake[wheel] = 0.0;
|
||||
if ( brake[wheel] > 1.0 ) brake[wheel] = 1.0;
|
||||
|
@ -155,14 +152,14 @@ public:
|
|||
}
|
||||
}
|
||||
inline void move_brake( int wheel, double amt ) {
|
||||
if ( wheel == FG_ALL_WHEELS ) {
|
||||
for ( int i = 0; i < FG_MAX_WHEELS; i++ ) {
|
||||
if ( wheel == ALL_WHEELS ) {
|
||||
for ( int i = 0; i < MAX_WHEELS; i++ ) {
|
||||
brake[i] += amt;
|
||||
if ( brake[i] < 0.0 ) brake[i] = 0.0;
|
||||
if ( brake[i] > 1.0 ) brake[i] = 1.0;
|
||||
}
|
||||
} else {
|
||||
if ( (wheel >= 0) && (wheel < FG_MAX_WHEELS) ) {
|
||||
if ( (wheel >= 0) && (wheel < MAX_WHEELS) ) {
|
||||
brake[wheel] += amt;
|
||||
if ( brake[wheel] < 0.0 ) brake[wheel] = 0.0;
|
||||
if ( brake[wheel] > 1.0 ) brake[wheel] = 1.0;
|
||||
|
@ -172,38 +169,16 @@ public:
|
|||
};
|
||||
|
||||
|
||||
/*
|
||||
#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;
|
||||
|
||||
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
|
||||
|
||||
|
||||
// $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
|
||||
// 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
|
||||
controls.set_elevator( joy_y );
|
||||
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
|
||||
|
@ -181,7 +181,7 @@ int fgJoystickRead( void ) {
|
|||
if ( ! js1->notWorking() ) {
|
||||
js1->read( &b, js_ax1 ) ;
|
||||
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;
|
||||
|
@ -191,6 +191,9 @@ int fgJoystickRead( void ) {
|
|||
|
||||
|
||||
// $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
|
||||
// Converted to new logstream debugging facility. This allows release
|
||||
// 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);
|
||||
return;
|
||||
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;
|
||||
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;
|
||||
case 98: // b key
|
||||
int b_ret;
|
||||
double b_set;
|
||||
b_ret = int( controls.get_brake( 0 ) );
|
||||
b_set = double(!b_ret);
|
||||
controls.set_brake( fgCONTROLS::FG_ALL_WHEELS, b_set);
|
||||
controls.set_brake( FGControls::ALL_WHEELS, b_set);
|
||||
return;
|
||||
case 104: // h key
|
||||
HUD_brightkey( false );
|
||||
|
@ -375,10 +375,10 @@ void GLUTspecialkey(int k, int x, int y) {
|
|||
controls.set_rudder(0.0);
|
||||
return;
|
||||
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;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@ -386,6 +386,9 @@ void GLUTspecialkey(int k, int x, int y) {
|
|||
|
||||
|
||||
// $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
|
||||
// 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.
|
||||
void fgSlewUpdate( void ) {
|
||||
FGState *f;
|
||||
fgCONTROLS *c;
|
||||
FGControls *c;
|
||||
|
||||
f = current_aircraft.fdm_state;
|
||||
c = current_aircraft.controls;
|
||||
|
@ -83,6 +83,9 @@ void fgSlewUpdate( void ) {
|
|||
|
||||
|
||||
// $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
|
||||
// Renamed class fgFLIGHT to class FGState as per request by JSB.
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue