fix another crash on exit by finally converting the rest of unguarded
SGPropertyNode to guarded ones. This is also done for JSBSim/JSBSim.hxx, for which JSB had given explicit permission a while ago. I postponed that back then, but now is the time.
This commit is contained in:
parent
c4463b311c
commit
e48967cb1d
38 changed files with 401 additions and 400 deletions
|
@ -113,17 +113,17 @@ private:
|
||||||
int mNumAiTypeModels[FGAIBase::MAX_OBJECTS];
|
int mNumAiTypeModels[FGAIBase::MAX_OBJECTS];
|
||||||
int mNumAiModels;
|
int mNumAiModels;
|
||||||
|
|
||||||
SGPropertyNode* root;
|
SGPropertyNode_ptr root;
|
||||||
SGPropertyNode* wind_from_down_node;
|
SGPropertyNode_ptr wind_from_down_node;
|
||||||
SGPropertyNode* user_latitude_node;
|
SGPropertyNode_ptr user_latitude_node;
|
||||||
SGPropertyNode* user_longitude_node;
|
SGPropertyNode_ptr user_longitude_node;
|
||||||
SGPropertyNode* user_altitude_node;
|
SGPropertyNode_ptr user_altitude_node;
|
||||||
SGPropertyNode* user_heading_node;
|
SGPropertyNode_ptr user_heading_node;
|
||||||
SGPropertyNode* user_pitch_node;
|
SGPropertyNode_ptr user_pitch_node;
|
||||||
SGPropertyNode* user_yaw_node;
|
SGPropertyNode_ptr user_yaw_node;
|
||||||
SGPropertyNode* user_speed_node;
|
SGPropertyNode_ptr user_speed_node;
|
||||||
SGPropertyNode* wind_from_east_node ;
|
SGPropertyNode_ptr wind_from_east_node ;
|
||||||
SGPropertyNode* wind_from_north_node ;
|
SGPropertyNode_ptr wind_from_north_node ;
|
||||||
|
|
||||||
string scenario_filename;
|
string scenario_filename;
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ private:
|
||||||
long mLastTimestamp;
|
long mLastTimestamp;
|
||||||
|
|
||||||
// Propertiies for tankers
|
// Propertiies for tankers
|
||||||
SGPropertyNode* refuel_node;
|
SGPropertyNode_ptr refuel_node;
|
||||||
bool isTanker;
|
bool isTanker;
|
||||||
bool contact; // set if this tanker is within fuelling range
|
bool contact; // set if this tanker is within fuelling range
|
||||||
};
|
};
|
||||||
|
|
|
@ -62,15 +62,15 @@ private:
|
||||||
int subflashes; // number of subflashes per flash
|
int subflashes; // number of subflashes per flash
|
||||||
double random_delay; // delay +/- random number
|
double random_delay; // delay +/- random number
|
||||||
double timer;
|
double timer;
|
||||||
SGPropertyNode* flash_node;
|
SGPropertyNode_ptr flash_node;
|
||||||
int flashed; // number of subflashes already done this flash
|
int flashed; // number of subflashes already done this flash
|
||||||
bool flashing; // true if currently flashing;
|
bool flashing; // true if currently flashing;
|
||||||
int subflash_array[8];
|
int subflash_array[8];
|
||||||
int subflash_index;
|
int subflash_index;
|
||||||
|
|
||||||
// turbulence stuff
|
// turbulence stuff
|
||||||
SGPropertyNode* turb_mag_node;
|
SGPropertyNode_ptr turb_mag_node;
|
||||||
SGPropertyNode* turb_rate_node;
|
SGPropertyNode_ptr turb_rate_node;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -27,9 +27,9 @@ public:
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
SGPropertyNode* trigger;
|
SGPropertyNode_ptr trigger;
|
||||||
SGPropertyNode* prop;
|
SGPropertyNode_ptr prop;
|
||||||
SGPropertyNode* contents_node;
|
SGPropertyNode_ptr contents_node;
|
||||||
|
|
||||||
string name;
|
string name;
|
||||||
string model;
|
string model;
|
||||||
|
@ -116,23 +116,23 @@ private:
|
||||||
|
|
||||||
double contrail_altitude;
|
double contrail_altitude;
|
||||||
|
|
||||||
SGPropertyNode* _serviceable_node;
|
SGPropertyNode_ptr _serviceable_node;
|
||||||
SGPropertyNode* _user_lat_node;
|
SGPropertyNode_ptr _user_lat_node;
|
||||||
SGPropertyNode* _user_lon_node;
|
SGPropertyNode_ptr _user_lon_node;
|
||||||
SGPropertyNode* _user_heading_node;
|
SGPropertyNode_ptr _user_heading_node;
|
||||||
SGPropertyNode* _user_alt_node;
|
SGPropertyNode_ptr _user_alt_node;
|
||||||
SGPropertyNode* _user_pitch_node;
|
SGPropertyNode_ptr _user_pitch_node;
|
||||||
SGPropertyNode* _user_roll_node;
|
SGPropertyNode_ptr _user_roll_node;
|
||||||
SGPropertyNode* _user_yaw_node;
|
SGPropertyNode_ptr _user_yaw_node;
|
||||||
SGPropertyNode* _user_alpha_node;
|
SGPropertyNode_ptr _user_alpha_node;
|
||||||
SGPropertyNode* _user_speed_node;
|
SGPropertyNode_ptr _user_speed_node;
|
||||||
SGPropertyNode* _user_wind_from_east_node;
|
SGPropertyNode_ptr _user_wind_from_east_node;
|
||||||
SGPropertyNode* _user_wind_from_north_node;
|
SGPropertyNode_ptr _user_wind_from_north_node;
|
||||||
SGPropertyNode* _user_speed_down_fps_node;
|
SGPropertyNode_ptr _user_speed_down_fps_node;
|
||||||
SGPropertyNode* _user_speed_east_fps_node;
|
SGPropertyNode_ptr _user_speed_east_fps_node;
|
||||||
SGPropertyNode* _user_speed_north_fps_node;
|
SGPropertyNode_ptr _user_speed_north_fps_node;
|
||||||
SGPropertyNode* _contrail_altitude_node;
|
SGPropertyNode_ptr _contrail_altitude_node;
|
||||||
SGPropertyNode* _contrail_trigger;
|
SGPropertyNode_ptr _contrail_trigger;
|
||||||
|
|
||||||
FGAIManager* ai;
|
FGAIManager* ai;
|
||||||
IC_struct IC;
|
IC_struct IC;
|
||||||
|
|
|
@ -83,8 +83,8 @@ private:
|
||||||
double stall_speed_landing_config;
|
double stall_speed_landing_config;
|
||||||
|
|
||||||
// environment - some of this might get moved into FGAIPlane
|
// environment - some of this might get moved into FGAIPlane
|
||||||
SGPropertyNode* wind_from_hdg; //degrees
|
SGPropertyNode_ptr wind_from_hdg; //degrees
|
||||||
SGPropertyNode* wind_speed_knots; //knots
|
SGPropertyNode_ptr wind_speed_knots; //knots
|
||||||
|
|
||||||
atc_type changeFreqType; // the service we need to change to
|
atc_type changeFreqType; // the service we need to change to
|
||||||
|
|
||||||
|
|
|
@ -160,8 +160,8 @@ private:
|
||||||
bool inAir; // True when off the ground
|
bool inAir; // True when off the ground
|
||||||
|
|
||||||
// environment - some of this might get moved into FGAIPlane
|
// environment - some of this might get moved into FGAIPlane
|
||||||
SGPropertyNode* wind_from_hdg; //degrees
|
SGPropertyNode_ptr wind_from_hdg; //degrees
|
||||||
SGPropertyNode* wind_speed_knots; //knots
|
SGPropertyNode_ptr wind_speed_knots; //knots
|
||||||
|
|
||||||
// Pattern details that (may) change
|
// Pattern details that (may) change
|
||||||
int numInPattern; // Number of planes in the pattern (this might get more complicated if high performance GA aircraft fly a higher pattern eventually)
|
int numInPattern; // Number of planes in the pattern (this might get more complicated if high performance GA aircraft fly a higher pattern eventually)
|
||||||
|
|
|
@ -87,9 +87,9 @@ private:
|
||||||
double lat;
|
double lat;
|
||||||
double elev;
|
double elev;
|
||||||
// Pointers to current users position
|
// Pointers to current users position
|
||||||
SGPropertyNode *lon_node;
|
SGPropertyNode_ptr lon_node;
|
||||||
SGPropertyNode *lat_node;
|
SGPropertyNode_ptr lat_node;
|
||||||
SGPropertyNode *elev_node;
|
SGPropertyNode_ptr elev_node;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -110,12 +110,12 @@ private:
|
||||||
double comm_freq[2];
|
double comm_freq[2];
|
||||||
|
|
||||||
// Pointers to users current communication frequencies.
|
// Pointers to users current communication frequencies.
|
||||||
SGPropertyNode* comm_node[2];
|
SGPropertyNode_ptr comm_node[2];
|
||||||
|
|
||||||
// Pointers to current users position
|
// Pointers to current users position
|
||||||
SGPropertyNode* lon_node;
|
SGPropertyNode_ptr lon_node;
|
||||||
SGPropertyNode* lat_node;
|
SGPropertyNode_ptr lat_node;
|
||||||
SGPropertyNode* elev_node;
|
SGPropertyNode_ptr elev_node;
|
||||||
|
|
||||||
// Position of the ATC that the comm radios are tuned to in order to decide
|
// Position of the ATC that the comm radios are tuned to in order to decide
|
||||||
// whether transmission will be received.
|
// whether transmission will be received.
|
||||||
|
|
|
@ -122,20 +122,20 @@ class FGApproach : public FGATC {
|
||||||
string transmission;
|
string transmission;
|
||||||
bool first;
|
bool first;
|
||||||
|
|
||||||
SGPropertyNode *comm1_node;
|
SGPropertyNode_ptr comm1_node;
|
||||||
SGPropertyNode *comm2_node;
|
SGPropertyNode_ptr comm2_node;
|
||||||
|
|
||||||
SGPropertyNode *atcmenu_node;
|
SGPropertyNode_ptr atcmenu_node;
|
||||||
SGPropertyNode *atcopt0_node;
|
SGPropertyNode_ptr atcopt0_node;
|
||||||
SGPropertyNode *atcopt1_node;
|
SGPropertyNode_ptr atcopt1_node;
|
||||||
SGPropertyNode *atcopt2_node;
|
SGPropertyNode_ptr atcopt2_node;
|
||||||
SGPropertyNode *atcopt3_node;
|
SGPropertyNode_ptr atcopt3_node;
|
||||||
SGPropertyNode *atcopt4_node;
|
SGPropertyNode_ptr atcopt4_node;
|
||||||
SGPropertyNode *atcopt5_node;
|
SGPropertyNode_ptr atcopt5_node;
|
||||||
SGPropertyNode *atcopt6_node;
|
SGPropertyNode_ptr atcopt6_node;
|
||||||
SGPropertyNode *atcopt7_node;
|
SGPropertyNode_ptr atcopt7_node;
|
||||||
SGPropertyNode *atcopt8_node;
|
SGPropertyNode_ptr atcopt8_node;
|
||||||
SGPropertyNode *atcopt9_node;
|
SGPropertyNode_ptr atcopt9_node;
|
||||||
|
|
||||||
// for failure modeling
|
// for failure modeling
|
||||||
string trans_ident; // transmitted ident
|
string trans_ident; // transmitted ident
|
||||||
|
@ -215,12 +215,12 @@ private:
|
||||||
const double &h3);
|
const double &h3);
|
||||||
|
|
||||||
// Pointers to current users position
|
// Pointers to current users position
|
||||||
SGPropertyNode *lon_node;
|
SGPropertyNode_ptr lon_node;
|
||||||
SGPropertyNode *lat_node;
|
SGPropertyNode_ptr lat_node;
|
||||||
SGPropertyNode *elev_node;
|
SGPropertyNode_ptr elev_node;
|
||||||
SGPropertyNode *hdg_node;
|
SGPropertyNode_ptr hdg_node;
|
||||||
SGPropertyNode *speed_node;
|
SGPropertyNode_ptr speed_node;
|
||||||
SGPropertyNode *etime_node;
|
SGPropertyNode_ptr etime_node;
|
||||||
|
|
||||||
//Update the transmission string
|
//Update the transmission string
|
||||||
void UpdateTransmission(void);
|
void UpdateTransmission(void);
|
||||||
|
|
|
@ -66,9 +66,9 @@ class FGATIS : public FGATC {
|
||||||
// or the whereabouts of the aircraft it is transmitting to. However, to ensure consistancy of
|
// or the whereabouts of the aircraft it is transmitting to. However, to ensure consistancy of
|
||||||
// operation with the other ATC classes the ATIS class must calculate range to the aircraft in order
|
// operation with the other ATC classes the ATIS class must calculate range to the aircraft in order
|
||||||
// to decide whether to render the transmission - hence the users plane details must be stored.
|
// to decide whether to render the transmission - hence the users plane details must be stored.
|
||||||
//SGPropertyNode *airplane_lon_node;
|
//SGPropertyNode_ptr airplane_lon_node;
|
||||||
//SGPropertyNode *airplane_lat_node;
|
//SGPropertyNode_ptr airplane_lat_node;
|
||||||
//SGPropertyNode *airplane_elev_node;
|
//SGPropertyNode_ptr airplane_elev_node;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -247,8 +247,8 @@ private:
|
||||||
bool departed; // set true when the above needs incrementing with time, false when it doesn't.
|
bool departed; // set true when the above needs incrementing with time, false when it doesn't.
|
||||||
|
|
||||||
// environment - need to make sure we're getting the surface winds and not winds aloft.
|
// environment - need to make sure we're getting the surface winds and not winds aloft.
|
||||||
SGPropertyNode* wind_from_hdg; //degrees
|
SGPropertyNode_ptr wind_from_hdg; //degrees
|
||||||
SGPropertyNode* wind_speed_knots; //knots
|
SGPropertyNode_ptr wind_speed_knots; //knots
|
||||||
|
|
||||||
double aptElev; // Airport elevation
|
double aptElev; // Airport elevation
|
||||||
string activeRwy; // Active runway number - For now we'll disregard multiple / alternate runway operation.
|
string activeRwy; // Active runway number - For now we'll disregard multiple / alternate runway operation.
|
||||||
|
@ -334,10 +334,10 @@ private:
|
||||||
bool tower_failed; // tower failed?
|
bool tower_failed; // tower failed?
|
||||||
|
|
||||||
// Pointers to current users position and orientation
|
// Pointers to current users position and orientation
|
||||||
SGPropertyNode* user_lon_node;
|
SGPropertyNode_ptr user_lon_node;
|
||||||
SGPropertyNode* user_lat_node;
|
SGPropertyNode_ptr user_lat_node;
|
||||||
SGPropertyNode* user_elev_node;
|
SGPropertyNode_ptr user_elev_node;
|
||||||
SGPropertyNode* user_hdg_node;
|
SGPropertyNode_ptr user_hdg_node;
|
||||||
|
|
||||||
// Details of the general traffic flow etc in the circuit
|
// Details of the general traffic flow etc in the circuit
|
||||||
double crosswind_leg_pos; // Distance from threshold crosswind leg is being turned to in meters (actual operation - *not* ideal circuit)
|
double crosswind_leg_pos; // Distance from threshold crosswind leg is being turned to in meters (actual operation - *not* ideal circuit)
|
||||||
|
|
|
@ -258,7 +258,7 @@ private:
|
||||||
int lateral_mode;
|
int lateral_mode;
|
||||||
|
|
||||||
|
|
||||||
SGPropertyNode * auto_coordination;
|
SGPropertyNode_ptr auto_coordination;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -56,14 +56,14 @@ protected:
|
||||||
|
|
||||||
string name;
|
string name;
|
||||||
|
|
||||||
SGPropertyNode *enable_prop;
|
SGPropertyNode_ptr enable_prop;
|
||||||
string enable_value;
|
string enable_value;
|
||||||
bool enabled;
|
bool enabled;
|
||||||
|
|
||||||
SGPropertyNode *input_prop;
|
SGPropertyNode_ptr input_prop;
|
||||||
SGPropertyNode *r_n_prop;
|
SGPropertyNode_ptr r_n_prop;
|
||||||
double r_n_value;
|
double r_n_value;
|
||||||
vector <SGPropertyNode *> output_list;
|
vector <SGPropertyNode_ptr> output_list;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ private:
|
||||||
// proportional component data
|
// proportional component data
|
||||||
bool proportional;
|
bool proportional;
|
||||||
double Kp;
|
double Kp;
|
||||||
SGPropertyNode *offset_prop;
|
SGPropertyNode_ptr offset_prop;
|
||||||
double offset_value;
|
double offset_value;
|
||||||
|
|
||||||
// integral component data
|
// integral component data
|
||||||
|
@ -274,7 +274,7 @@ protected:
|
||||||
private:
|
private:
|
||||||
|
|
||||||
bool serviceable;
|
bool serviceable;
|
||||||
SGPropertyNode *config_props;
|
SGPropertyNode_ptr config_props;
|
||||||
comp_list components;
|
comp_list components;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -105,8 +105,8 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
SGPropertyNode * _base_wind_speed_node;
|
SGPropertyNode_ptr _base_wind_speed_node;
|
||||||
SGPropertyNode * _gust_wind_speed_node;
|
SGPropertyNode_ptr _gust_wind_speed_node;
|
||||||
|
|
||||||
double _current_wind_speed_kt;
|
double _current_wind_speed_kt;
|
||||||
double _delta_wind_speed_kt;
|
double _delta_wind_speed_kt;
|
||||||
|
@ -179,10 +179,10 @@ private:
|
||||||
float search_elapsed;
|
float search_elapsed;
|
||||||
float fetch_elapsed;
|
float fetch_elapsed;
|
||||||
const FGAirport *last_apt;
|
const FGAirport *last_apt;
|
||||||
SGPropertyNode *proxy_host;
|
SGPropertyNode_ptr proxy_host;
|
||||||
SGPropertyNode *proxy_port;
|
SGPropertyNode_ptr proxy_port;
|
||||||
SGPropertyNode *proxy_auth;
|
SGPropertyNode_ptr proxy_auth;
|
||||||
SGPropertyNode *metar_max_age;
|
SGPropertyNode_ptr metar_max_age;
|
||||||
|
|
||||||
FGMetarResult fetch_data( const string &icao );
|
FGMetarResult fetch_data( const string &icao );
|
||||||
virtual void update_metar_properties( const FGMetar *m );
|
virtual void update_metar_properties( const FGMetar *m );
|
||||||
|
|
|
@ -52,7 +52,7 @@ private:
|
||||||
double last_cg_offset;
|
double last_cg_offset;
|
||||||
|
|
||||||
vector <string> property_names;
|
vector <string> property_names;
|
||||||
vector <SGPropertyNode *> nodes;
|
vector <SGPropertyNode_ptr> nodes;
|
||||||
|
|
||||||
// Protocol specific init routines
|
// Protocol specific init routines
|
||||||
void init_binary();
|
void init_binary();
|
||||||
|
|
|
@ -226,40 +226,40 @@ private:
|
||||||
double trim_elev;
|
double trim_elev;
|
||||||
double trim_throttle;
|
double trim_throttle;
|
||||||
|
|
||||||
SGPropertyNode *startup_trim;
|
SGPropertyNode_ptr startup_trim;
|
||||||
SGPropertyNode *trimmed;
|
SGPropertyNode_ptr trimmed;
|
||||||
SGPropertyNode *pitch_trim;
|
SGPropertyNode_ptr pitch_trim;
|
||||||
SGPropertyNode *throttle_trim;
|
SGPropertyNode_ptr throttle_trim;
|
||||||
SGPropertyNode *aileron_trim;
|
SGPropertyNode_ptr aileron_trim;
|
||||||
SGPropertyNode *rudder_trim;
|
SGPropertyNode_ptr rudder_trim;
|
||||||
SGPropertyNode *stall_warning;
|
SGPropertyNode_ptr stall_warning;
|
||||||
|
|
||||||
/* SGPropertyNode *elevator_pos_deg;
|
/* SGPropertyNode_ptr elevator_pos_deg;
|
||||||
SGPropertyNode *left_aileron_pos_deg;
|
SGPropertyNode_ptr left_aileron_pos_deg;
|
||||||
SGPropertyNode *right_aileron_pos_deg;
|
SGPropertyNode_ptr right_aileron_pos_deg;
|
||||||
SGPropertyNode *rudder_pos_deg;
|
SGPropertyNode_ptr rudder_pos_deg;
|
||||||
SGPropertyNode *flap_pos_deg; */
|
SGPropertyNode_ptr flap_pos_deg; */
|
||||||
|
|
||||||
|
|
||||||
SGPropertyNode *elevator_pos_pct;
|
SGPropertyNode_ptr elevator_pos_pct;
|
||||||
SGPropertyNode *left_aileron_pos_pct;
|
SGPropertyNode_ptr left_aileron_pos_pct;
|
||||||
SGPropertyNode *right_aileron_pos_pct;
|
SGPropertyNode_ptr right_aileron_pos_pct;
|
||||||
SGPropertyNode *rudder_pos_pct;
|
SGPropertyNode_ptr rudder_pos_pct;
|
||||||
SGPropertyNode *flap_pos_pct;
|
SGPropertyNode_ptr flap_pos_pct;
|
||||||
SGPropertyNode *speedbrake_pos_pct;
|
SGPropertyNode_ptr speedbrake_pos_pct;
|
||||||
SGPropertyNode *spoilers_pos_pct;
|
SGPropertyNode_ptr spoilers_pos_pct;
|
||||||
|
|
||||||
SGPropertyNode *gear_pos_pct;
|
SGPropertyNode_ptr gear_pos_pct;
|
||||||
|
|
||||||
SGPropertyNode *temperature;
|
SGPropertyNode_ptr temperature;
|
||||||
SGPropertyNode *pressure;
|
SGPropertyNode_ptr pressure;
|
||||||
SGPropertyNode *density;
|
SGPropertyNode_ptr density;
|
||||||
SGPropertyNode *turbulence_gain;
|
SGPropertyNode_ptr turbulence_gain;
|
||||||
SGPropertyNode *turbulence_rate;
|
SGPropertyNode_ptr turbulence_rate;
|
||||||
|
|
||||||
SGPropertyNode *wind_from_north;
|
SGPropertyNode_ptr wind_from_north;
|
||||||
SGPropertyNode *wind_from_east;
|
SGPropertyNode_ptr wind_from_east;
|
||||||
SGPropertyNode *wind_from_down;
|
SGPropertyNode_ptr wind_from_down;
|
||||||
|
|
||||||
void init_gear(void);
|
void init_gear(void);
|
||||||
void update_gear(void);
|
void update_gear(void);
|
||||||
|
|
|
@ -41,9 +41,9 @@ private:
|
||||||
void set_ls(void);
|
void set_ls(void);
|
||||||
void snap_shot(void);
|
void snap_shot(void);
|
||||||
double time_step;
|
double time_step;
|
||||||
SGPropertyNode *speed_up;
|
SGPropertyNode_ptr speed_up;
|
||||||
SGPropertyNode *aero;
|
SGPropertyNode_ptr aero;
|
||||||
SGPropertyNode *uiuc_type;
|
SGPropertyNode_ptr uiuc_type;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -42,10 +42,10 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
SGPropertyNode *_alt, *_speed, *_climb_rate;
|
SGPropertyNode_ptr _alt, _speed, _climb_rate;
|
||||||
SGPropertyNode *_pitch, *_roll, *_heading;
|
SGPropertyNode_ptr _pitch, _roll, _heading;
|
||||||
SGPropertyNode *_acc_lat, *_acc_lon, *_acc_down;
|
SGPropertyNode_ptr _acc_lat, _acc_lon, _acc_down;
|
||||||
SGPropertyNode *_temp, *_wow;
|
SGPropertyNode_ptr _temp, _wow;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
#ifndef __LAYOUT_HXX
|
#ifndef __LAYOUT_HXX
|
||||||
#define __LAYOUT_HXX
|
#define __LAYOUT_HXX
|
||||||
|
|
||||||
class SGPropertyNode;
|
#include <simgear/props/props.hxx>
|
||||||
|
|
||||||
class puFont;
|
class puFont;
|
||||||
|
|
||||||
// For the purposes of doing layout management, widgets have a type,
|
// For the purposes of doing layout management, widgets have a type,
|
||||||
|
@ -50,7 +51,7 @@ private:
|
||||||
void doHVBox(bool doLayout, bool vertical, int* w=0, int* h=0);
|
void doHVBox(bool doLayout, bool vertical, int* w=0, int* h=0);
|
||||||
void doTable(bool doLayout, int* w=0, int* h=0);
|
void doTable(bool doLayout, int* w=0, int* h=0);
|
||||||
|
|
||||||
SGPropertyNode* _prop;
|
SGPropertyNode_ptr _prop;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __LAYOUT_HXX
|
#endif // __LAYOUT_HXX
|
||||||
|
|
|
@ -340,8 +340,8 @@ private:
|
||||||
virtual ~mouse ();
|
virtual ~mouse ();
|
||||||
int x;
|
int x;
|
||||||
int y;
|
int y;
|
||||||
SGPropertyNode * mode_node;
|
SGPropertyNode_ptr mode_node;
|
||||||
SGPropertyNode * mouse_button_nodes[MAX_MOUSE_BUTTONS];
|
SGPropertyNode_ptr mouse_button_nodes[MAX_MOUSE_BUTTONS];
|
||||||
int nModes;
|
int nModes;
|
||||||
int current_mode;
|
int current_mode;
|
||||||
double timeout;
|
double timeout;
|
||||||
|
|
|
@ -38,21 +38,21 @@ class Annunciator : public SGSubsystem
|
||||||
double timer4;
|
double timer4;
|
||||||
|
|
||||||
// inputs
|
// inputs
|
||||||
SGPropertyNode *_volts;
|
SGPropertyNode_ptr _volts;
|
||||||
SGPropertyNode *_vac_l;
|
SGPropertyNode_ptr _vac_l;
|
||||||
SGPropertyNode *_vac_r;
|
SGPropertyNode_ptr _vac_r;
|
||||||
SGPropertyNode *_fuel_l;
|
SGPropertyNode_ptr _fuel_l;
|
||||||
SGPropertyNode *_fuel_r;
|
SGPropertyNode_ptr _fuel_r;
|
||||||
SGPropertyNode *_oil_px;
|
SGPropertyNode_ptr _oil_px;
|
||||||
SGPropertyNode *_elec_serv;
|
SGPropertyNode_ptr _elec_serv;
|
||||||
|
|
||||||
// outputs
|
// outputs
|
||||||
SGPropertyNode *_ann_volts; // VOLTS (red)
|
SGPropertyNode_ptr _ann_volts; // VOLTS (red)
|
||||||
SGPropertyNode *_ann_vac_l; // L VAC (amber)
|
SGPropertyNode_ptr _ann_vac_l; // L VAC (amber)
|
||||||
SGPropertyNode *_ann_vac_r; // VAC R (amber
|
SGPropertyNode_ptr _ann_vac_r; // VAC R (amber
|
||||||
SGPropertyNode *_ann_fuel_l; // L LOW FUEL (amber)
|
SGPropertyNode_ptr _ann_fuel_l; // L LOW FUEL (amber)
|
||||||
SGPropertyNode *_ann_fuel_r; // LOW FUEL R (amber)
|
SGPropertyNode_ptr _ann_fuel_r; // LOW FUEL R (amber)
|
||||||
SGPropertyNode *_ann_oil_px; // OIL PRESS (red)
|
SGPropertyNode_ptr _ann_oil_px; // OIL PRESS (red)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -141,9 +141,9 @@ private:
|
||||||
SGPropertyNode_ptr _leg_to_flag_node;
|
SGPropertyNode_ptr _leg_to_flag_node;
|
||||||
SGPropertyNode_ptr _alt_deviation_node;
|
SGPropertyNode_ptr _alt_deviation_node;
|
||||||
|
|
||||||
SGPropertyNode *_route;
|
SGPropertyNode_ptr _route;
|
||||||
SGPropertyNode *addWp;
|
SGPropertyNode_ptr addWp;
|
||||||
SGPropertyNode *popWp;
|
SGPropertyNode_ptr popWp;
|
||||||
|
|
||||||
SGRoute *route;
|
SGRoute *route;
|
||||||
|
|
||||||
|
|
|
@ -39,11 +39,11 @@ class FGKR_87 : public SGSubsystem
|
||||||
{
|
{
|
||||||
FGMorse morse;
|
FGMorse morse;
|
||||||
|
|
||||||
SGPropertyNode *lon_node;
|
SGPropertyNode_ptr lon_node;
|
||||||
SGPropertyNode *lat_node;
|
SGPropertyNode_ptr lat_node;
|
||||||
SGPropertyNode *alt_node;
|
SGPropertyNode_ptr alt_node;
|
||||||
SGPropertyNode *bus_power;
|
SGPropertyNode_ptr bus_power;
|
||||||
SGPropertyNode *serviceable;
|
SGPropertyNode_ptr serviceable;
|
||||||
|
|
||||||
bool need_update;
|
bool need_update;
|
||||||
|
|
||||||
|
|
|
@ -39,11 +39,11 @@
|
||||||
|
|
||||||
class FGKT_70 : public SGSubsystem
|
class FGKT_70 : public SGSubsystem
|
||||||
{
|
{
|
||||||
SGPropertyNode *lon_node;
|
SGPropertyNode_ptr lon_node;
|
||||||
SGPropertyNode *lat_node;
|
SGPropertyNode_ptr lat_node;
|
||||||
SGPropertyNode *alt_node;
|
SGPropertyNode_ptr alt_node;
|
||||||
SGPropertyNode *bus_power;
|
SGPropertyNode_ptr bus_power;
|
||||||
SGPropertyNode *serviceable_node;
|
SGPropertyNode_ptr serviceable_node;
|
||||||
|
|
||||||
// internal values
|
// internal values
|
||||||
double r_flash_time;
|
double r_flash_time;
|
||||||
|
|
|
@ -46,14 +46,14 @@ class FGMarkerBeacon : public SGSubsystem
|
||||||
SGInterpTable *high_tbl;
|
SGInterpTable *high_tbl;
|
||||||
|
|
||||||
// Inputs
|
// Inputs
|
||||||
SGPropertyNode *lon_node;
|
SGPropertyNode_ptr lon_node;
|
||||||
SGPropertyNode *lat_node;
|
SGPropertyNode_ptr lat_node;
|
||||||
SGPropertyNode *alt_node;
|
SGPropertyNode_ptr alt_node;
|
||||||
SGPropertyNode *bus_power;
|
SGPropertyNode_ptr bus_power;
|
||||||
SGPropertyNode *power_btn;
|
SGPropertyNode_ptr power_btn;
|
||||||
SGPropertyNode *audio_btn;
|
SGPropertyNode_ptr audio_btn;
|
||||||
SGPropertyNode *serviceable;
|
SGPropertyNode_ptr serviceable;
|
||||||
SGPropertyNode *sound_pause;
|
SGPropertyNode_ptr sound_pause;
|
||||||
|
|
||||||
bool need_update;
|
bool need_update;
|
||||||
|
|
||||||
|
|
|
@ -235,7 +235,7 @@ MK_VIII::PropertiesHandler::init ()
|
||||||
void
|
void
|
||||||
MK_VIII::PropertiesHandler::unbind ()
|
MK_VIII::PropertiesHandler::unbind ()
|
||||||
{
|
{
|
||||||
vector<SGPropertyNode *>::iterator iter;
|
vector<SGPropertyNode_ptr>::iterator iter;
|
||||||
|
|
||||||
for (iter = tied_properties.begin(); iter != tied_properties.end(); iter++)
|
for (iter = tied_properties.begin(); iter != tied_properties.end(); iter++)
|
||||||
(*iter)->untie();
|
(*iter)->untie();
|
||||||
|
|
|
@ -181,37 +181,37 @@ class MK_VIII : public SGSubsystem
|
||||||
{
|
{
|
||||||
MK_VIII *mk;
|
MK_VIII *mk;
|
||||||
|
|
||||||
vector<SGPropertyNode *> tied_properties;
|
vector<SGPropertyNode_ptr> tied_properties;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
SGPropertyNode *ai_caged;
|
SGPropertyNode_ptr ai_caged;
|
||||||
SGPropertyNode *ai_roll;
|
SGPropertyNode_ptr ai_roll;
|
||||||
SGPropertyNode *ai_serviceable;
|
SGPropertyNode_ptr ai_serviceable;
|
||||||
SGPropertyNode *altimeter_altitude;
|
SGPropertyNode_ptr altimeter_altitude;
|
||||||
SGPropertyNode *altimeter_serviceable;
|
SGPropertyNode_ptr altimeter_serviceable;
|
||||||
SGPropertyNode *altitude;
|
SGPropertyNode_ptr altitude;
|
||||||
SGPropertyNode *altitude_agl;
|
SGPropertyNode_ptr altitude_agl;
|
||||||
SGPropertyNode *asi_serviceable;
|
SGPropertyNode_ptr asi_serviceable;
|
||||||
SGPropertyNode *asi_speed;
|
SGPropertyNode_ptr asi_speed;
|
||||||
SGPropertyNode *autopilot_heading_lock;
|
SGPropertyNode_ptr autopilot_heading_lock;
|
||||||
SGPropertyNode *flaps;
|
SGPropertyNode_ptr flaps;
|
||||||
SGPropertyNode *gear_down;
|
SGPropertyNode_ptr gear_down;
|
||||||
SGPropertyNode *latitude;
|
SGPropertyNode_ptr latitude;
|
||||||
SGPropertyNode *longitude;
|
SGPropertyNode_ptr longitude;
|
||||||
SGPropertyNode *nav0_cdi_serviceable;
|
SGPropertyNode_ptr nav0_cdi_serviceable;
|
||||||
SGPropertyNode *nav0_gs_distance;
|
SGPropertyNode_ptr nav0_gs_distance;
|
||||||
SGPropertyNode *nav0_gs_needle_deflection;
|
SGPropertyNode_ptr nav0_gs_needle_deflection;
|
||||||
SGPropertyNode *nav0_gs_serviceable;
|
SGPropertyNode_ptr nav0_gs_serviceable;
|
||||||
SGPropertyNode *nav0_has_gs;
|
SGPropertyNode_ptr nav0_has_gs;
|
||||||
SGPropertyNode *nav0_heading_needle_deflection;
|
SGPropertyNode_ptr nav0_heading_needle_deflection;
|
||||||
SGPropertyNode *nav0_in_range;
|
SGPropertyNode_ptr nav0_in_range;
|
||||||
SGPropertyNode *nav0_nav_loc;
|
SGPropertyNode_ptr nav0_nav_loc;
|
||||||
SGPropertyNode *nav0_serviceable;
|
SGPropertyNode_ptr nav0_serviceable;
|
||||||
SGPropertyNode *power;
|
SGPropertyNode_ptr power;
|
||||||
SGPropertyNode *replay_state;
|
SGPropertyNode_ptr replay_state;
|
||||||
SGPropertyNode *vs;
|
SGPropertyNode_ptr vs;
|
||||||
} external_properties;
|
} external_properties;
|
||||||
|
|
||||||
inline PropertiesHandler (MK_VIII *device)
|
inline PropertiesHandler (MK_VIII *device)
|
||||||
|
|
|
@ -43,67 +43,67 @@ class FGNavRadio : public SGSubsystem
|
||||||
SGInterpTable *low_tbl;
|
SGInterpTable *low_tbl;
|
||||||
SGInterpTable *high_tbl;
|
SGInterpTable *high_tbl;
|
||||||
|
|
||||||
SGPropertyNode *lon_node;
|
SGPropertyNode_ptr lon_node;
|
||||||
SGPropertyNode *lat_node;
|
SGPropertyNode_ptr lat_node;
|
||||||
SGPropertyNode *alt_node;
|
SGPropertyNode_ptr alt_node;
|
||||||
SGPropertyNode *bus_power_node;
|
SGPropertyNode_ptr bus_power_node;
|
||||||
|
|
||||||
// property inputs
|
// property inputs
|
||||||
SGPropertyNode *is_valid_node; // is station data valid (may be way out
|
SGPropertyNode_ptr is_valid_node; // is station data valid (may be way out
|
||||||
// of range.)
|
// of range.)
|
||||||
SGPropertyNode *power_btn_node;
|
SGPropertyNode_ptr power_btn_node;
|
||||||
SGPropertyNode *freq_node; // primary freq
|
SGPropertyNode_ptr freq_node; // primary freq
|
||||||
SGPropertyNode *alt_freq_node; // standby freq
|
SGPropertyNode_ptr alt_freq_node; // standby freq
|
||||||
SGPropertyNode *sel_radial_node; // selected radial
|
SGPropertyNode_ptr sel_radial_node; // selected radial
|
||||||
SGPropertyNode *vol_btn_node;
|
SGPropertyNode_ptr vol_btn_node;
|
||||||
SGPropertyNode *ident_btn_node;
|
SGPropertyNode_ptr ident_btn_node;
|
||||||
SGPropertyNode *audio_btn_node;
|
SGPropertyNode_ptr audio_btn_node;
|
||||||
SGPropertyNode *nav_serviceable_node;
|
SGPropertyNode_ptr nav_serviceable_node;
|
||||||
SGPropertyNode *cdi_serviceable_node;
|
SGPropertyNode_ptr cdi_serviceable_node;
|
||||||
SGPropertyNode *gs_serviceable_node;
|
SGPropertyNode_ptr gs_serviceable_node;
|
||||||
SGPropertyNode *tofrom_serviceable_node;
|
SGPropertyNode_ptr tofrom_serviceable_node;
|
||||||
|
|
||||||
// property outputs
|
// property outputs
|
||||||
SGPropertyNode *fmt_freq_node; // formated frequency
|
SGPropertyNode_ptr fmt_freq_node; // formated frequency
|
||||||
SGPropertyNode *fmt_alt_freq_node; // formated alternate frequency
|
SGPropertyNode_ptr fmt_alt_freq_node; // formated alternate frequency
|
||||||
SGPropertyNode *heading_node; // true heading to nav station
|
SGPropertyNode_ptr heading_node; // true heading to nav station
|
||||||
SGPropertyNode *radial_node; // current radial we are on (taking
|
SGPropertyNode_ptr radial_node; // current radial we are on (taking
|
||||||
// into consideration the vor station
|
// into consideration the vor station
|
||||||
// alignment which likely doesn't
|
// alignment which likely doesn't
|
||||||
// match the magnetic alignment
|
// match the magnetic alignment
|
||||||
// exactly.)
|
// exactly.)
|
||||||
SGPropertyNode *recip_radial_node; // radial_node(val) + 180 (for
|
SGPropertyNode_ptr recip_radial_node; // radial_node(val) + 180 (for
|
||||||
// convenience)
|
// convenience)
|
||||||
SGPropertyNode *target_radial_true_node;
|
SGPropertyNode_ptr target_radial_true_node;
|
||||||
// true heading of selected radial
|
// true heading of selected radial
|
||||||
SGPropertyNode *target_auto_hdg_node;
|
SGPropertyNode_ptr target_auto_hdg_node;
|
||||||
// suggested autopilot heading
|
// suggested autopilot heading
|
||||||
// to intercept selected radial
|
// to intercept selected radial
|
||||||
SGPropertyNode *time_to_intercept; // estimated time to intecept selected
|
SGPropertyNode_ptr time_to_intercept; // estimated time to intecept selected
|
||||||
// radial at current speed and heading
|
// radial at current speed and heading
|
||||||
SGPropertyNode *to_flag_node;
|
SGPropertyNode_ptr to_flag_node;
|
||||||
SGPropertyNode *from_flag_node;
|
SGPropertyNode_ptr from_flag_node;
|
||||||
SGPropertyNode *inrange_node;
|
SGPropertyNode_ptr inrange_node;
|
||||||
SGPropertyNode *cdi_deflection_node;
|
SGPropertyNode_ptr cdi_deflection_node;
|
||||||
SGPropertyNode *cdi_xtrack_error_node;
|
SGPropertyNode_ptr cdi_xtrack_error_node;
|
||||||
SGPropertyNode *cdi_xtrack_hdg_err_node;
|
SGPropertyNode_ptr cdi_xtrack_hdg_err_node;
|
||||||
SGPropertyNode *has_gs_node;
|
SGPropertyNode_ptr has_gs_node;
|
||||||
SGPropertyNode *loc_node;
|
SGPropertyNode_ptr loc_node;
|
||||||
SGPropertyNode *loc_dist_node;
|
SGPropertyNode_ptr loc_dist_node;
|
||||||
SGPropertyNode *gs_deflection_node;
|
SGPropertyNode_ptr gs_deflection_node;
|
||||||
SGPropertyNode *gs_rate_of_climb_node;
|
SGPropertyNode_ptr gs_rate_of_climb_node;
|
||||||
SGPropertyNode *gs_dist_node;
|
SGPropertyNode_ptr gs_dist_node;
|
||||||
SGPropertyNode *nav_id_node;
|
SGPropertyNode_ptr nav_id_node;
|
||||||
SGPropertyNode *id_c1_node;
|
SGPropertyNode_ptr id_c1_node;
|
||||||
SGPropertyNode *id_c2_node;
|
SGPropertyNode_ptr id_c2_node;
|
||||||
SGPropertyNode *id_c3_node;
|
SGPropertyNode_ptr id_c3_node;
|
||||||
SGPropertyNode *id_c4_node;
|
SGPropertyNode_ptr id_c4_node;
|
||||||
|
|
||||||
// gps slaving support
|
// gps slaving support
|
||||||
SGPropertyNode *nav_slaved_to_gps_node;
|
SGPropertyNode_ptr nav_slaved_to_gps_node;
|
||||||
SGPropertyNode *gps_cdi_deflection_node;
|
SGPropertyNode_ptr gps_cdi_deflection_node;
|
||||||
SGPropertyNode *gps_to_flag_node;
|
SGPropertyNode_ptr gps_to_flag_node;
|
||||||
SGPropertyNode *gps_from_flag_node;
|
SGPropertyNode_ptr gps_from_flag_node;
|
||||||
|
|
||||||
// internal (private) values
|
// internal (private) values
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ private:
|
||||||
struct Log {
|
struct Log {
|
||||||
Log ();
|
Log ();
|
||||||
virtual ~Log ();
|
virtual ~Log ();
|
||||||
vector<SGPropertyNode *> nodes;
|
vector<SGPropertyNode_ptr> nodes;
|
||||||
ostream * output;
|
ostream * output;
|
||||||
long interval_ms;
|
long interval_ms;
|
||||||
double last_time_ms;
|
double last_time_ms;
|
||||||
|
|
|
@ -57,12 +57,12 @@ class FGATCInput {
|
||||||
unsigned char radio_switch_data[ATC_RADIO_SWITCH_BYTES];
|
unsigned char radio_switch_data[ATC_RADIO_SWITCH_BYTES];
|
||||||
unsigned char switch_data[ATC_SWITCH_BYTES];
|
unsigned char switch_data[ATC_SWITCH_BYTES];
|
||||||
|
|
||||||
SGPropertyNode *ignore_flight_controls;
|
SGPropertyNode_ptr ignore_flight_controls;
|
||||||
SGPropertyNode *ignore_pedal_controls;
|
SGPropertyNode_ptr ignore_pedal_controls;
|
||||||
|
|
||||||
SGPropertyNode *analog_in_node;
|
SGPropertyNode_ptr analog_in_node;
|
||||||
SGPropertyNode *radio_in_node;
|
SGPropertyNode_ptr radio_in_node;
|
||||||
SGPropertyNode *switches_node;
|
SGPropertyNode_ptr switches_node;
|
||||||
|
|
||||||
void init_config();
|
void init_config();
|
||||||
bool do_analog_in();
|
bool do_analog_in();
|
||||||
|
|
|
@ -53,9 +53,9 @@ class FGATCOutput {
|
||||||
|
|
||||||
unsigned char radio_display_data[ATC_RADIO_DISPLAY_BYTES];
|
unsigned char radio_display_data[ATC_RADIO_DISPLAY_BYTES];
|
||||||
|
|
||||||
SGPropertyNode *lamps_out_node;
|
SGPropertyNode_ptr lamps_out_node;
|
||||||
SGPropertyNode *radio_display_node;
|
SGPropertyNode_ptr radio_display_node;
|
||||||
SGPropertyNode *steppers_node;
|
SGPropertyNode_ptr steppers_node;
|
||||||
|
|
||||||
void init_config();
|
void init_config();
|
||||||
bool do_lamps();
|
bool do_lamps();
|
||||||
|
|
|
@ -63,7 +63,7 @@ protected:
|
||||||
e_type type;
|
e_type type;
|
||||||
double offset;
|
double offset;
|
||||||
double factor;
|
double factor;
|
||||||
SGPropertyNode *prop;
|
SGPropertyNode_ptr prop;
|
||||||
} _serial_prot;
|
} _serial_prot;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -42,7 +42,7 @@ class FGJsClient : public FGProtocol {
|
||||||
char buf[256];
|
char buf[256];
|
||||||
int length;
|
int length;
|
||||||
double axis[4];
|
double axis[4];
|
||||||
SGPropertyNode *axisdef[4];
|
SGPropertyNode_ptr axisdef[4];
|
||||||
string axisdefstr[4];
|
string axisdefstr[4];
|
||||||
bool active;
|
bool active;
|
||||||
|
|
||||||
|
|
|
@ -42,104 +42,104 @@ class FGLFSGlass : public FGProtocol, public FGInterface {
|
||||||
int length;
|
int length;
|
||||||
|
|
||||||
// Environment
|
// Environment
|
||||||
SGPropertyNode *press_node;
|
SGPropertyNode_ptr press_node;
|
||||||
SGPropertyNode *temp_node;
|
SGPropertyNode_ptr temp_node;
|
||||||
SGPropertyNode *wind_dir_node;
|
SGPropertyNode_ptr wind_dir_node;
|
||||||
SGPropertyNode *wind_speed_node;
|
SGPropertyNode_ptr wind_speed_node;
|
||||||
SGPropertyNode *magvar_node;
|
SGPropertyNode_ptr magvar_node;
|
||||||
|
|
||||||
// Position on the Geod
|
// Position on the Geod
|
||||||
SGPropertyNode *p_latitude;
|
SGPropertyNode_ptr p_latitude;
|
||||||
SGPropertyNode *p_longitude;
|
SGPropertyNode_ptr p_longitude;
|
||||||
SGPropertyNode *p_elev_node;
|
SGPropertyNode_ptr p_elev_node;
|
||||||
//SGPropertyNode *p_altitude;
|
//SGPropertyNode_ptr p_altitude;
|
||||||
SGPropertyNode *p_altitude_agl;
|
SGPropertyNode_ptr p_altitude_agl;
|
||||||
|
|
||||||
// Orientation
|
// Orientation
|
||||||
SGPropertyNode *p_pitch;
|
SGPropertyNode_ptr p_pitch;
|
||||||
SGPropertyNode *p_bank;
|
SGPropertyNode_ptr p_bank;
|
||||||
SGPropertyNode *p_heading;
|
SGPropertyNode_ptr p_heading;
|
||||||
SGPropertyNode *p_yaw;
|
SGPropertyNode_ptr p_yaw;
|
||||||
SGPropertyNode *p_yaw_rate;
|
SGPropertyNode_ptr p_yaw_rate;
|
||||||
|
|
||||||
// Flight Parameters
|
// Flight Parameters
|
||||||
SGPropertyNode *vel_kcas;
|
SGPropertyNode_ptr vel_kcas;
|
||||||
SGPropertyNode *p_vvi;
|
SGPropertyNode_ptr p_vvi;
|
||||||
SGPropertyNode *p_mach;
|
SGPropertyNode_ptr p_mach;
|
||||||
|
|
||||||
// Control surfaces
|
// Control surfaces
|
||||||
SGPropertyNode *p_left_aileron;
|
SGPropertyNode_ptr p_left_aileron;
|
||||||
SGPropertyNode *p_right_aileron;
|
SGPropertyNode_ptr p_right_aileron;
|
||||||
SGPropertyNode *p_elevator;
|
SGPropertyNode_ptr p_elevator;
|
||||||
SGPropertyNode *p_elevator_trim;
|
SGPropertyNode_ptr p_elevator_trim;
|
||||||
SGPropertyNode *p_rudder;
|
SGPropertyNode_ptr p_rudder;
|
||||||
SGPropertyNode *p_flaps;
|
SGPropertyNode_ptr p_flaps;
|
||||||
SGPropertyNode *p_flaps_cmd;
|
SGPropertyNode_ptr p_flaps_cmd;
|
||||||
|
|
||||||
// GEAR System
|
// GEAR System
|
||||||
SGPropertyNode *p_park_brake;
|
SGPropertyNode_ptr p_park_brake;
|
||||||
|
|
||||||
// Engines
|
// Engines
|
||||||
SGPropertyNode *egt0_node;
|
SGPropertyNode_ptr egt0_node;
|
||||||
SGPropertyNode *egt1_node;
|
SGPropertyNode_ptr egt1_node;
|
||||||
SGPropertyNode *egt2_node;
|
SGPropertyNode_ptr egt2_node;
|
||||||
SGPropertyNode *egt3_node;
|
SGPropertyNode_ptr egt3_node;
|
||||||
|
|
||||||
SGPropertyNode *epr0_node;
|
SGPropertyNode_ptr epr0_node;
|
||||||
SGPropertyNode *epr1_node;
|
SGPropertyNode_ptr epr1_node;
|
||||||
SGPropertyNode *epr2_node;
|
SGPropertyNode_ptr epr2_node;
|
||||||
SGPropertyNode *epr3_node;
|
SGPropertyNode_ptr epr3_node;
|
||||||
|
|
||||||
SGPropertyNode *n10_node;
|
SGPropertyNode_ptr n10_node;
|
||||||
SGPropertyNode *n11_node;
|
SGPropertyNode_ptr n11_node;
|
||||||
SGPropertyNode *n12_node;
|
SGPropertyNode_ptr n12_node;
|
||||||
SGPropertyNode *n13_node;
|
SGPropertyNode_ptr n13_node;
|
||||||
|
|
||||||
SGPropertyNode *n20_node;
|
SGPropertyNode_ptr n20_node;
|
||||||
SGPropertyNode *n21_node;
|
SGPropertyNode_ptr n21_node;
|
||||||
SGPropertyNode *n22_node;
|
SGPropertyNode_ptr n22_node;
|
||||||
SGPropertyNode *n23_node;
|
SGPropertyNode_ptr n23_node;
|
||||||
|
|
||||||
SGPropertyNode *oil_temp0;
|
SGPropertyNode_ptr oil_temp0;
|
||||||
SGPropertyNode *oil_temp1;
|
SGPropertyNode_ptr oil_temp1;
|
||||||
SGPropertyNode *oil_temp2;
|
SGPropertyNode_ptr oil_temp2;
|
||||||
SGPropertyNode *oil_temp3;
|
SGPropertyNode_ptr oil_temp3;
|
||||||
|
|
||||||
// Fuel System
|
// Fuel System
|
||||||
SGPropertyNode *tank0_node;
|
SGPropertyNode_ptr tank0_node;
|
||||||
SGPropertyNode *tank1_node;
|
SGPropertyNode_ptr tank1_node;
|
||||||
SGPropertyNode *tank2_node;
|
SGPropertyNode_ptr tank2_node;
|
||||||
SGPropertyNode *tank3_node;
|
SGPropertyNode_ptr tank3_node;
|
||||||
SGPropertyNode *tank4_node;
|
SGPropertyNode_ptr tank4_node;
|
||||||
SGPropertyNode *tank5_node;
|
SGPropertyNode_ptr tank5_node;
|
||||||
SGPropertyNode *tank6_node;
|
SGPropertyNode_ptr tank6_node;
|
||||||
SGPropertyNode *tank7_node;
|
SGPropertyNode_ptr tank7_node;
|
||||||
// Boost pumps; Center tank has only override pumps; boosts are in the
|
// Boost pumps; Center tank has only override pumps; boosts are in the
|
||||||
// four main wing tanks 1->4
|
// four main wing tanks 1->4
|
||||||
// SGPropertyNode *boost1_node;
|
// SGPropertyNode_ptr boost1_node;
|
||||||
// SGPropertyNode *boost2_node;
|
// SGPropertyNode_ptr boost2_node;
|
||||||
// SGPropertyNode *boost3_node;
|
// SGPropertyNode_ptr boost3_node;
|
||||||
// SGPropertyNode *boost4_node;
|
// SGPropertyNode_ptr boost4_node;
|
||||||
// SGPropertyNode *boost5_node;
|
// SGPropertyNode_ptr boost5_node;
|
||||||
// SGPropertyNode *boost6_node;
|
// SGPropertyNode_ptr boost6_node;
|
||||||
// SGPropertyNode *boost7_node;
|
// SGPropertyNode_ptr boost7_node;
|
||||||
// SGPropertyNode *boost8_node;
|
// SGPropertyNode_ptr boost8_node;
|
||||||
// Override pumps
|
// Override pumps
|
||||||
// SGPropertyNode *ovride0_node;
|
// SGPropertyNode_ptr ovride0_node;
|
||||||
// SGPropertyNode *ovride1_node;
|
// SGPropertyNode_ptr ovride1_node;
|
||||||
// SGPropertyNode *ovride2_node;
|
// SGPropertyNode_ptr ovride2_node;
|
||||||
// SGPropertyNode *ovride3_node;
|
// SGPropertyNode_ptr ovride3_node;
|
||||||
// SGPropertyNode *ovride4_node;
|
// SGPropertyNode_ptr ovride4_node;
|
||||||
// SGPropertyNode *ovride5_node;
|
// SGPropertyNode_ptr ovride5_node;
|
||||||
// X_Feed valves
|
// X_Feed valves
|
||||||
// SGPropertyNode *x_feed0_node;
|
// SGPropertyNode_ptr x_feed0_node;
|
||||||
// SGPropertyNode *x_feed1_node;
|
// SGPropertyNode_ptr x_feed1_node;
|
||||||
// SGPropertyNode *x_feed2_node;
|
// SGPropertyNode_ptr x_feed2_node;
|
||||||
// SGPropertyNode *x_feed3_node;
|
// SGPropertyNode_ptr x_feed3_node;
|
||||||
|
|
||||||
// Aero numbers
|
// Aero numbers
|
||||||
SGPropertyNode *p_alphadot;
|
SGPropertyNode_ptr p_alphadot;
|
||||||
SGPropertyNode *p_betadot;
|
SGPropertyNode_ptr p_betadot;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -42,104 +42,104 @@ class FGOpenGC : public FGProtocol, public FGInterface {
|
||||||
int length;
|
int length;
|
||||||
|
|
||||||
// Environment
|
// Environment
|
||||||
SGPropertyNode *press_node;
|
SGPropertyNode_ptr press_node;
|
||||||
SGPropertyNode *temp_node;
|
SGPropertyNode_ptr temp_node;
|
||||||
SGPropertyNode *wind_dir_node;
|
SGPropertyNode_ptr wind_dir_node;
|
||||||
SGPropertyNode *wind_speed_node;
|
SGPropertyNode_ptr wind_speed_node;
|
||||||
SGPropertyNode *magvar_node;
|
SGPropertyNode_ptr magvar_node;
|
||||||
|
|
||||||
// Position on the Geod
|
// Position on the Geod
|
||||||
SGPropertyNode *p_latitude;
|
SGPropertyNode_ptr p_latitude;
|
||||||
SGPropertyNode *p_longitude;
|
SGPropertyNode_ptr p_longitude;
|
||||||
SGPropertyNode *p_elev_node;
|
SGPropertyNode_ptr p_elev_node;
|
||||||
//SGPropertyNode *p_altitude;
|
//SGPropertyNode_ptr p_altitude;
|
||||||
SGPropertyNode *p_altitude_agl;
|
SGPropertyNode_ptr p_altitude_agl;
|
||||||
|
|
||||||
// Orientation
|
// Orientation
|
||||||
SGPropertyNode *p_pitch;
|
SGPropertyNode_ptr p_pitch;
|
||||||
SGPropertyNode *p_bank;
|
SGPropertyNode_ptr p_bank;
|
||||||
SGPropertyNode *p_heading;
|
SGPropertyNode_ptr p_heading;
|
||||||
SGPropertyNode *p_yaw;
|
SGPropertyNode_ptr p_yaw;
|
||||||
SGPropertyNode *p_yaw_rate;
|
SGPropertyNode_ptr p_yaw_rate;
|
||||||
|
|
||||||
// Flight Parameters
|
// Flight Parameters
|
||||||
SGPropertyNode *vel_kcas;
|
SGPropertyNode_ptr vel_kcas;
|
||||||
SGPropertyNode *p_vvi;
|
SGPropertyNode_ptr p_vvi;
|
||||||
SGPropertyNode *p_mach;
|
SGPropertyNode_ptr p_mach;
|
||||||
|
|
||||||
// Control surfaces
|
// Control surfaces
|
||||||
SGPropertyNode *p_left_aileron;
|
SGPropertyNode_ptr p_left_aileron;
|
||||||
SGPropertyNode *p_right_aileron;
|
SGPropertyNode_ptr p_right_aileron;
|
||||||
SGPropertyNode *p_elevator;
|
SGPropertyNode_ptr p_elevator;
|
||||||
SGPropertyNode *p_elevator_trim;
|
SGPropertyNode_ptr p_elevator_trim;
|
||||||
SGPropertyNode *p_rudder;
|
SGPropertyNode_ptr p_rudder;
|
||||||
SGPropertyNode *p_flaps;
|
SGPropertyNode_ptr p_flaps;
|
||||||
SGPropertyNode *p_flaps_cmd;
|
SGPropertyNode_ptr p_flaps_cmd;
|
||||||
|
|
||||||
// GEAR System
|
// GEAR System
|
||||||
SGPropertyNode *p_park_brake;
|
SGPropertyNode_ptr p_park_brake;
|
||||||
|
|
||||||
// Engines
|
// Engines
|
||||||
SGPropertyNode *egt0_node;
|
SGPropertyNode_ptr egt0_node;
|
||||||
SGPropertyNode *egt1_node;
|
SGPropertyNode_ptr egt1_node;
|
||||||
SGPropertyNode *egt2_node;
|
SGPropertyNode_ptr egt2_node;
|
||||||
SGPropertyNode *egt3_node;
|
SGPropertyNode_ptr egt3_node;
|
||||||
|
|
||||||
SGPropertyNode *epr0_node;
|
SGPropertyNode_ptr epr0_node;
|
||||||
SGPropertyNode *epr1_node;
|
SGPropertyNode_ptr epr1_node;
|
||||||
SGPropertyNode *epr2_node;
|
SGPropertyNode_ptr epr2_node;
|
||||||
SGPropertyNode *epr3_node;
|
SGPropertyNode_ptr epr3_node;
|
||||||
|
|
||||||
SGPropertyNode *n10_node;
|
SGPropertyNode_ptr n10_node;
|
||||||
SGPropertyNode *n11_node;
|
SGPropertyNode_ptr n11_node;
|
||||||
SGPropertyNode *n12_node;
|
SGPropertyNode_ptr n12_node;
|
||||||
SGPropertyNode *n13_node;
|
SGPropertyNode_ptr n13_node;
|
||||||
|
|
||||||
SGPropertyNode *n20_node;
|
SGPropertyNode_ptr n20_node;
|
||||||
SGPropertyNode *n21_node;
|
SGPropertyNode_ptr n21_node;
|
||||||
SGPropertyNode *n22_node;
|
SGPropertyNode_ptr n22_node;
|
||||||
SGPropertyNode *n23_node;
|
SGPropertyNode_ptr n23_node;
|
||||||
|
|
||||||
SGPropertyNode *oil_temp0;
|
SGPropertyNode_ptr oil_temp0;
|
||||||
SGPropertyNode *oil_temp1;
|
SGPropertyNode_ptr oil_temp1;
|
||||||
SGPropertyNode *oil_temp2;
|
SGPropertyNode_ptr oil_temp2;
|
||||||
SGPropertyNode *oil_temp3;
|
SGPropertyNode_ptr oil_temp3;
|
||||||
|
|
||||||
// Fuel System
|
// Fuel System
|
||||||
SGPropertyNode *tank0_node;
|
SGPropertyNode_ptr tank0_node;
|
||||||
SGPropertyNode *tank1_node;
|
SGPropertyNode_ptr tank1_node;
|
||||||
SGPropertyNode *tank2_node;
|
SGPropertyNode_ptr tank2_node;
|
||||||
SGPropertyNode *tank3_node;
|
SGPropertyNode_ptr tank3_node;
|
||||||
SGPropertyNode *tank4_node;
|
SGPropertyNode_ptr tank4_node;
|
||||||
SGPropertyNode *tank5_node;
|
SGPropertyNode_ptr tank5_node;
|
||||||
SGPropertyNode *tank6_node;
|
SGPropertyNode_ptr tank6_node;
|
||||||
SGPropertyNode *tank7_node;
|
SGPropertyNode_ptr tank7_node;
|
||||||
// Boost pumps; Center tank has only override pumps; boosts are in the
|
// Boost pumps; Center tank has only override pumps; boosts are in the
|
||||||
// four main wing tanks 1->4
|
// four main wing tanks 1->4
|
||||||
// SGPropertyNode *boost1_node;
|
// SGPropertyNode_ptr boost1_node;
|
||||||
// SGPropertyNode *boost2_node;
|
// SGPropertyNode_ptr boost2_node;
|
||||||
// SGPropertyNode *boost3_node;
|
// SGPropertyNode_ptr boost3_node;
|
||||||
// SGPropertyNode *boost4_node;
|
// SGPropertyNode_ptr boost4_node;
|
||||||
// SGPropertyNode *boost5_node;
|
// SGPropertyNode_ptr boost5_node;
|
||||||
// SGPropertyNode *boost6_node;
|
// SGPropertyNode_ptr boost6_node;
|
||||||
// SGPropertyNode *boost7_node;
|
// SGPropertyNode_ptr boost7_node;
|
||||||
// SGPropertyNode *boost8_node;
|
// SGPropertyNode_ptr boost8_node;
|
||||||
// Override pumps
|
// Override pumps
|
||||||
// SGPropertyNode *ovride0_node;
|
// SGPropertyNode_ptr ovride0_node;
|
||||||
// SGPropertyNode *ovride1_node;
|
// SGPropertyNode_ptr ovride1_node;
|
||||||
// SGPropertyNode *ovride2_node;
|
// SGPropertyNode_ptr ovride2_node;
|
||||||
// SGPropertyNode *ovride3_node;
|
// SGPropertyNode_ptr ovride3_node;
|
||||||
// SGPropertyNode *ovride4_node;
|
// SGPropertyNode_ptr ovride4_node;
|
||||||
// SGPropertyNode *ovride5_node;
|
// SGPropertyNode_ptr ovride5_node;
|
||||||
// X_Feed valves
|
// X_Feed valves
|
||||||
// SGPropertyNode *x_feed0_node;
|
// SGPropertyNode_ptr x_feed0_node;
|
||||||
// SGPropertyNode *x_feed1_node;
|
// SGPropertyNode_ptr x_feed1_node;
|
||||||
// SGPropertyNode *x_feed2_node;
|
// SGPropertyNode_ptr x_feed2_node;
|
||||||
// SGPropertyNode *x_feed3_node;
|
// SGPropertyNode_ptr x_feed3_node;
|
||||||
|
|
||||||
// Aero numbers
|
// Aero numbers
|
||||||
SGPropertyNode *p_alphadot;
|
SGPropertyNode_ptr p_alphadot;
|
||||||
SGPropertyNode *p_betadot;
|
SGPropertyNode_ptr p_betadot;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -96,7 +96,7 @@ private:
|
||||||
naContext _context;
|
naContext _context;
|
||||||
naRef _globals;
|
naRef _globals;
|
||||||
|
|
||||||
SGPropertyNode* _cmdArg;
|
SGPropertyNode_ptr _cmdArg;
|
||||||
|
|
||||||
int _nextGCKey;
|
int _nextGCKey;
|
||||||
naRef _gcHash;
|
naRef _gcHash;
|
||||||
|
|
|
@ -82,8 +82,8 @@ private:
|
||||||
bool last_pause;
|
bool last_pause;
|
||||||
double last_volume;
|
double last_volume;
|
||||||
|
|
||||||
SGPropertyNode *_pause;
|
SGPropertyNode_ptr _pause;
|
||||||
SGPropertyNode *_volume;
|
SGPropertyNode_ptr _volume;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -193,7 +193,7 @@ class FGElectricalSwitch {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
SGPropertyNode *switch_node;
|
SGPropertyNode_ptr switch_node;
|
||||||
float rating_amps;
|
float rating_amps;
|
||||||
bool circuit_breaker;
|
bool circuit_breaker;
|
||||||
|
|
||||||
|
@ -275,8 +275,8 @@ private:
|
||||||
comp_list outputs;
|
comp_list outputs;
|
||||||
comp_list connectors;
|
comp_list connectors;
|
||||||
|
|
||||||
SGPropertyNode *_volts_out;
|
SGPropertyNode_ptr _volts_out;
|
||||||
SGPropertyNode *_amps_out;
|
SGPropertyNode_ptr _amps_out;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue