X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAIModel%2FAIManager.hxx;h=5c951912e645e824a4395428c45bec5512cb6cc5;hb=f89ad9baf0f72d613c755f4fb3704f57ff7ef973;hp=3f6dd9c2fc5d21c349f9c424ddac1cab6aed026e;hpb=a6db6d89ff41a619569e6433409e8bf62ff98499;p=flightgear.git diff --git a/src/AIModel/AIManager.hxx b/src/AIModel/AIManager.hxx index 3f6dd9c2f..5c951912e 100644 --- a/src/AIModel/AIManager.hxx +++ b/src/AIModel/AIManager.hxx @@ -27,6 +27,7 @@ #include #include +#include #include
@@ -46,7 +47,7 @@ class FGAIManager : public SGSubsystem public: // A list of pointers to AI objects - typedef list > ai_list_type; + typedef list > ai_list_type; typedef ai_list_type::iterator ai_list_iterator; typedef ai_list_type::const_iterator ai_list_const_iterator; @@ -66,6 +67,7 @@ public: void bind(); void unbind(); void update(double dt); + void updateLOD(SGPropertyNode* node); void attach(FGAIBase *model); void destroyObject( int ID ); @@ -81,15 +83,16 @@ public: inline double get_wind_from_east() const {return wind_from_east; } inline double get_wind_from_north() const {return wind_from_north; } inline double get_user_roll() const { return user_roll; } + inline double get_user_agl() const { return user_altitude_agl; } int getNumAiObjects(void) const; void processScenario( const string &filename ); - static SGPropertyNode_ptr loadScenarioFile(const std::string& filename); + static SGPropertyNode_ptr loadScenarioFile(const std::string& filename); - static bool getStartPosition(const string& id, const string& pid, - SGGeod& geodPos, double& hdng, SGVec3d& uvw); + static bool getStartPosition(const string& id, const string& pid, + SGGeod& geodPos, double& hdng, SGVec3d& uvw); private: @@ -104,6 +107,7 @@ private: SGPropertyNode_ptr user_latitude_node; SGPropertyNode_ptr user_longitude_node; SGPropertyNode_ptr user_altitude_node; + SGPropertyNode_ptr user_altitude_agl_node; SGPropertyNode_ptr user_heading_node; SGPropertyNode_ptr user_pitch_node; SGPropertyNode_ptr user_yaw_node; @@ -115,11 +119,13 @@ private: double user_latitude; double user_longitude; double user_altitude; + double user_altitude_agl; double user_heading; double user_pitch; double user_yaw; double user_roll; double user_speed; + double user_agl; double wind_from_east; double wind_from_north; double _dt; @@ -131,6 +137,8 @@ private: double strength; void processThermal( FGAIThermal* thermal ); + SGPropertyChangeCallback cb_ai_bare; + SGPropertyChangeCallback cb_ai_detailed; }; #endif // _FG_AIMANAGER_HXX