]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIManager.hxx
assign a unique module name to ai/mp embedded nasal (again): __model%u
[flightgear.git] / src / AIModel / AIManager.hxx
index 2bcd4a541b25248251540c3fc54cf3f7e7e57d74..8b3582b39f25d6bc9f4c4990c698fe38d2689394 100644 (file)
@@ -36,7 +36,7 @@
 #include <Traffic/SchedFlight.hxx>
 #include <Traffic/Schedule.hxx>
 
-SG_USING_STD(list);
+using std::list;
 
 class FGAIThermal;
 
@@ -46,13 +46,13 @@ class FGAIManager : public SGSubsystem
 public:
 
     // A list of pointers to AI objects
-    typedef list <SGSharedPtr<FGAIBase> > ai_list_type;
+    typedef list <osg::ref_ptr<FGAIBase> > ai_list_type;
     typedef ai_list_type::iterator ai_list_iterator;
     typedef ai_list_type::const_iterator ai_list_const_iterator;
 
     ai_list_type ai_list;
 
-    inline const list <SGSharedPtr<FGAIBase> >& get_ai_list() const {
+    inline const ai_list_type& get_ai_list() const {
         SG_LOG(SG_GENERAL, SG_DEBUG, "AI Manager: AI model return list size " << ai_list.size());
         return ai_list;
     }
@@ -66,7 +66,7 @@ public:
     void bind();
     void unbind();
     void update(double dt);
-    void attach(SGSharedPtr<FGAIBase> model);
+    void attach(FGAIBase *model);
 
     void destroyObject( int ID );
     const FGAIBase *calcCollision(double alt, double lat, double lon, double fuse_range);
@@ -80,6 +80,7 @@ public:
     inline double get_user_speed() const {return user_speed; }
     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; }
 
     int getNumAiObjects(void) const;
 
@@ -106,6 +107,7 @@ private:
     SGPropertyNode_ptr user_heading_node;
     SGPropertyNode_ptr user_pitch_node;
     SGPropertyNode_ptr user_yaw_node;
+    SGPropertyNode_ptr user_roll_node;
     SGPropertyNode_ptr user_speed_node;
     SGPropertyNode_ptr wind_from_east_node;
     SGPropertyNode_ptr wind_from_north_node;
@@ -116,6 +118,7 @@ private:
     double user_heading;
     double user_pitch;
     double user_yaw;
+    double user_roll;
     double user_speed;
     double wind_from_east;
     double wind_from_north;