+ void CalculateMach();
+ double UpdateRadar(FGAIManager* manager);
+
+ static int _newAIModelID();
+
+private:
+ const int _refID;
+ object_type _otype;
+
+public:
+
+ object_type getType();
+ virtual const char* getTypeString(void) const { return "null"; }
+ bool isa( object_type otype );
+
+ double _getVS_fps() const;
+ void _setVS_fps( double _vs );
+
+ double _getAltitude() const;
+ void _setAltitude( double _alt );
+
+ void _setLongitude( double longitude );
+ void _setLatitude ( double latitude );
+
+ double _getLongitude() const;
+ double _getLatitude () const;
+
+ double _getBearing() const;
+ double _getElevation() const;
+ double _getRdot() const;
+ double _getH_offset() const;
+ double _getV_offset() const;
+ double _getX_shift() const;
+ double _getY_shift() const;
+ double _getRotation() const;
+
+ double rho;
+ double T; // temperature, degs farenheit
+ double p; // pressure lbs/sq ft
+ double a; // speed of sound at altitude (ft/s)
+ double Mach; // Mach number
+
+ static const double e;
+ static const double lbs_to_slugs;
+
+ inline double _getRange() { return range; };
+ ssgBranch * load3DModel(const string& fg_root,
+ const string &path,
+ SGPropertyNode *prop_root,
+ double sim_time_sec);
+
+ static bool _isNight();